home *** CD-ROM | disk | FTP | other *** search
/ A.C.E. 2 / ACE CD 2.iso / FILES / DOCS / SBASEP4D.LHA / SuperBaseProFormsEditor.doc < prev   
Text File  |  1994-11-27  |  123KB  |  2,763 lines

  1.  
  2.  
  3.             SUPERBASE PROFESSIONAL
  4.                  FORMS EDITOR
  5.                  USER GUIDE
  6.  
  7.     FORMS EDITOR USER GUIDE   CONTENTS
  8.  
  9. CHAPTER 1
  10. INTRODUCTION                        1-1
  11. The Forms Editor                    1-1
  12. How to Use This Guide                    1-2
  13.  
  14. CHAPTER 2
  15. GETTING STARTED                        2-1
  16. Introduction                        2-1
  17. Basic Concepts                        2-1
  18.   Forms and Pages                    2-1
  19.   Objects                        2-2
  20.   Fields                        2-3
  21. Menus and Dialogs                    2-3
  22.   Using Dialogs                        2-4
  23.   Ghosted Items                        2-5
  24. Working with Forms                    2-5
  25.   Creating a New Form                    2-5
  26.   Creating a New Page                    2-5
  27.   Opening a Form                    2-5
  28.   Opening a Page                    2-6
  29.   Changing the Current Page                2-7
  30.   Saving a Form                        2-7
  31.   Saving a Page                        2-7
  32. A Sample Session                    2-8
  33. Housekeeping                        2-9
  34.   Directories and Subdirectories            2-9
  35.   Changing the Directory                2-10
  36.   Status                        2-10
  37.   Removing Forms and Pages                2-11
  38. Resolution (Amiga only)                    2-11
  39.  
  40. CHAPTER 3
  41. DESIGNING A PAGE                    3-1
  42. Design Tools                        3-1
  43.   Overview                        3-1
  44.   Note                            3-2
  45.  
  46.                 i
  47.  
  48.   Cancelling an Operation                3-2
  49.   Summary                        3-2
  50.   Fields                        3-3
  51.   Field Options                        3-3
  52.   Lines                            3-4
  53.   Boxes                            3-4
  54.   Areas                            3-4
  55.   Text                            3-4
  56.   Images                        3-5
  57. Attributes                        3-6
  58.   The Attributes Window                    3-6
  59.   Pen/Paper Selector                    3-7
  60.   Pen                            3-8
  61.   Pen and Paper                        3-8
  62.   Colour Palette                                        3-9
  63.   Object Print Status                                   3-9
  64.   Text Styles                                           3-10
  65.   Field Justification                                   3-10
  66.   Read Only                                             3-10
  67.   Area Patterns                                         3-11
  68.   Line Thickness                                        3-11
  69. Text Fonts                                              3-11
  70. Crosshairs                                              3-12
  71. Align                                                   3-12
  72. Reduce                                                  3-13
  73.  
  74. CHAPTER 4
  75. EDITING FORMS                                           4-1
  76. Hierarchy of Objects                                    4-1
  77. Selecting Objects                                       4-2
  78. Editing a Page                                          4-2
  79.   Undo                                                  4-3
  80.   Clear                                                 4-3
  81.   The Clipboard                                         4-3
  82.   Cut                                                   4-3
  83.   Copy                                                  4-4
  84.   Paste                                                 4-4
  85.   Move                                                  4-4
  86.   Moving a Group of Objects                             4-5
  87.   Size                                                  4-5
  88. Editing Attributes                                      4-5
  89. Editing Text                                            4-6
  90.  
  91.                 ii
  92.  
  93. Changing Pages                                          4-6
  94.   To Front                                              4-7
  95.   Swap                                                  4-7
  96.   Cut                                                   4-7
  97.  
  98. CHAPTER 5
  99. FORMS, FIELDS AND FILES                                 5-1
  100. Calculation                                             5-1
  101.   Using Report Functions in Calculations                5-2
  102. Validation                                              5-3
  103. Replicating Fields                                      5-3
  104. Setting the Field Order                                 5-3
  105. Linking Files                                           5-5
  106.   Using the Link Option                                 5-5
  107.   A Two File Example                                    5-5
  108.   Linking More than Two Files                           5-6
  109.   Editing Existing Links                                5-7
  110.   Limits of the Linking Capability                      5-7
  111.  
  112. CHAPTER 6
  113. PRINTING FORMS                                          6-1
  114.   Printing a page                                       6-1
  115. Print Options                                           6-1
  116.   Draft Printing                                        6-2
  117.   Graphics Printing                                     6-2
  118.   Print Zones                                           6-3
  119.   Object Print Status                                   6-3
  120.  
  121. CHAPTER 7
  122. GENERATING REPORTS                                      7-1
  123.   Overview                                              7-1
  124.   A Note on Graphics and Text                           7-1
  125. Creating a Report: Step by Step                         7-2
  126.   Preparation                                           7-2
  127.   Selecting Fields to be Printed                        7-2
  128.   Specifying a Report Heading                           7-2
  129.   Specifying a Report Footing                           7-3
  130.   Groups                                                7-3
  131.   Specifying a Group                                    7-3
  132.   The BEFORE GROUP Box                                  7-4
  133.  
  134.                 iii
  135.  
  136.   The AFTER GROUP Box                                   7-4
  137.   Multiple Groups                                       7-5
  138.   Specifying Report Functions                           7-5
  139. The Report Filter                                       7-5
  140. Sorting                                                 7-6
  141. Saving the Report Form                                  7-6
  142. Refining Your Report                                    7-6
  143.   Title Page                                            7-6
  144.   Totals Page                                           7-6
  145.   Summary Reports                                       7-6
  146.   Page On Group                                         7-7
  147.  
  148. CHAPTER 8
  149. USING FORMS AND REPORTS                    8-1
  150. Opening a Form                                          8-1
  151.   Single File Forms                                     8-1
  152.   Multiple File Forms                                   8-2
  153. Browsing with a Form                                    8-2
  154. Current Record/Page Selector                            8-3
  155.   Change Index                                          8-3
  156.   Temporarily Changing the Master File                  8-3
  157.   Lookup                                                8-4
  158.   Filters                                               8-4
  159. Switching to the Default Views                          8-4
  160.   Reselecting the Form                                  8-5
  161. Data Entry and Editing                                  8-5
  162.   Field Entry Order                                     8-5
  163.   Data Entry: Record New                                8-6
  164.   Committing the Form: Record Save                      8-6
  165.   Batch Data Entry                                      8-7
  166.   Editing a Form                                        8-7
  167.   Snapshot Data Entry: Record Duplicate                 8-7
  168.   Removing Form Data: Record Remove                     8-8
  169. Reports                                                 8-8
  170.   Running a Report                                      8-8
  171.   Adding Filter Conditions                              8-8
  172.   Adding Order Conditions                               8-9
  173.   Print/Display Option                                  8-9
  174.   Modifying a Report Program                            8-10
  175.   Output device                                         8-10
  176.   Filter and Order                                      8-10
  177. Forms and the Project Menu                              8-10
  178.  
  179.                 iv
  180.  
  181.   Open Fields                                           8-10
  182.   Close Form                                            8-10
  183.   Edit File                                             8-11
  184.   Remove File or Index                                  8-11
  185.  
  186.                 v
  187.  
  188.              CHAPTER 1 - INTRODUCTION
  189.  
  190. THE FORMS EDITOR
  191. Superbase Professional's Forms Editor can be treated as three program in
  192. one, each of them equally useful and each complementary to the others.
  193.  
  194. First, the Forms Editor acts as a front end to Superbase Professional. You
  195. can design a form around a particular file and then use it both to display
  196. the file's data on screen and to enter new data. When it is used in this
  197. way, the Forms Editor provides a similar facility (only considerably more
  198. powerful) to Superbase's Form View option.
  199.  
  200. More important than this single file facility is the way it simplifies the
  201. task of relating data from different files. Here the Forms Editor acts as
  202. an intelligent front end which can handle and process the data from
  203. multiple Superbase files. A form can be set up to display fields or records
  204. from two or three (or more) files at the same time.
  205.  
  206. For data entry, you could design a form to store each line in a separate
  207. field, or in a separate record, or even in a separate file. Using Superbase
  208. functions such as Lookup, you can build cross-file validation and
  209. calculation into a form, so that it checks new data against records in
  210. other files. Another of the program's facilities lets you specify the order
  211. in which data is entered in a form.
  212.  
  213. Alongside this, the Forms Editor serves as a fully fledged design and
  214. drawing package. In this capacity it allows you to create multi-page forms,
  215. combining colour, lines, boxes, and text as you please. An extensive set of
  216. editing facilities then enables you to alter almost any feature on a page
  217. with just a few clicks on the mouse. There is also an option for
  218. integrating graphic images - company logos or letterheads, for example -
  219. created in other programs. Once a form has been designed, it can be printed
  220. out, photocopied and used for everyday business purposes.
  221.  
  222. Business, in fact, will probably be the area where the program finds the
  223. widest application - for invoices, order forms, expense forms, stock
  224. control, marketing questionnaires, etc. - but it is just as suitable for
  225. producing the kind of forms used in many other areas such as research and
  226. education.
  227.  
  228. The Forms Editor's third role is as a report generator. Superbase
  229. Professional already includes a report facility, but the Forms Editor
  230. supplements this with a greater range of report formatting and report
  231. analysis features. Here again, it 
  232.  
  233.                 1-1
  234.  
  235. is as easy to extract and summarize data from multiple files as it is from
  236. single files. Then you can lay out the elements on your report with far
  237. greater flexibility than before. You can also produce multi-page reports
  238. with separate title and totals pages.
  239.  
  240. HOW TO USE THIS GUIDE
  241. Chapter 2, Getting Started, is intended to provide a quick guide to the
  242. Forms Editor. It takes you up to the point where you can open a new form,
  243. design a page, save it on disk, and then load it back in to be edited. At
  244. the same time, it introduces you to the handful of basic concepts that you
  245. will need before you can feel fully at home with the Forms Editor. This
  246. chapter, then, is the only one that needs to be read from start to finish.
  247. The other chapters can be treated as reference material - to be consulted
  248. only when you need additional information on a particular topic.
  249.  
  250. Chapter 3, Designing a Form, describes the options which the Forms Editor
  251. provides for designing a form. These are the tools you will use to add
  252. fields,  text and graphics to a page.
  253.  
  254. Chapter 4, Editing a Form, explains how to modify a form after it has been
  255. created.
  256.  
  257. Chapter 5, Fields and Forms, covers the more advanced options associated
  258. with adding fields to a form. These include Calculation, Validation, and
  259. setting the field order.
  260.  
  261. Chapter 6, Printing a Form, explains how to print a form, and describes the
  262. various print options.
  263.  
  264. Chapter 7, Generating Reports, shows you how to create a form which will
  265. produce a report when it is loaded into Superbase.
  266.  
  267. Chapter 8, Using Forms and Reports, describes the various ways in which you
  268. can use forms in Superbase for entering or retrieving data and for
  269. producing reports.
  270.  
  271.                 1-2
  272.  
  273.                 CHAPTER 2 - GETTING STARTED
  274.  
  275. INTRODUCTION
  276. You should find the Forms Editor easy to use, especially if you are already
  277. familiar with Superbase itself. However, there are several concepts that
  278. are crucial to understanding the way the Forms Editor works. If you have a
  279. clear idea of these, it will make the task of mastering the Forms Editor
  280. that much easier. The first part of this chapter explains these basic
  281. concepts.
  282.  
  283. The second section, Forms and Pages, describes how to open forms and pages,
  284. how to create new forms and pages, and how to save them on disk. By taking
  285. you through a sample session, it then shows you how to design a simple one
  286. page form.
  287.  
  288. In the last section, Housekeeping, we describe the facilities which are
  289. provided by the Forms Editor for handling the files you create on disk.
  290.  
  291. BASIC CONCEPTS
  292. FORMS AND PAGES
  293. So far we have used the term 'form' in its usual sense where it covers a
  294. wide range of different kinds of printed material: invoices, data entry
  295. forms, customer receipts, and so on. However, in this manual and in the
  296. program itself (on menus and dialogs) the term 'form' also has a more
  297. precise sense, in which a form means a collection of 'pages'.
  298.  
  299. A single page measures 240 characters across by 66 lines. On the screen,
  300. you can only see part of a page, but you can scroll around it using the
  301. scroll bars. You can things of a page as three A4 sheets laid together side
  302. by side; each sheet can contain 66 lines of 80 characters. When you come to
  303. print out a page, you have a choice of printing any one of these three
  304. sheets.
  305.  
  306. The main advantage of making a distinction between forms and pages is
  307. flexibility. It means that you can design and save pages on their own, and
  308. then build up a form from different pages. You can use the same page or
  309. pages in different forms, and you can repeat the same page in a single
  310. form. You can even edit a form by altering the page order or deleting and
  311. inserting pages.
  312.  
  313.                 2-1
  314.  
  315. The points raised in this section can be summarized by four rules relating
  316. to forms and pages:
  317.  
  318. 1. A form may consist of a single page or multiple pages.
  319. 2. A form consisting of only one page can be saved either as a form or as a
  320.    page.
  321. 3. A form consisting of more than one page can only be saved as a form.
  322. 4. You cannot load another form into your current form, but you can load a
  323.    page into your current form.
  324.  
  325. Note also that a saved form is identified by the extension '.sbv', while a
  326. page is identified by the extension '.pg'.
  327.  
  328. OBJECTS
  329. Whenever you add something to a page, whether text or graphics, the Forms
  330. Editor identifies it as an 'object'. A line, a box, a field, a line of
  331. text, an area, an image - each of these is treated as a separate object. In
  332. this way, the program keeps track of all the elements that make up a page.
  333. As such, it contrasts with other drawing and design packages that allow you
  334. to build up an image on screen but do not keep the details of the separate
  335. components of an image.
  336.  
  337. Taking an 'object-oriented' approach has several advantages, particularly
  338. when you want to edit a page. It makes it easy to select any part of a page
  339. and alter it, for example by moving it to a new position or resizing it.
  340. Another advantage is that you can instruct the Forms Editor to print out
  341. only certain types of object - to leave out the text on a page, for
  342. example, or to ignore any shaded areas.
  343.  
  344. The Forms Editor recognizes six types of object:
  345.  
  346.     Areas
  347.     Boxes
  348.     Lines
  349.     Images 
  350.     Text
  351.     Fields
  352.  
  353. Apart from areas and images, it should be clear what each of these types
  354. represents. Thus a line is a straight line, and a box is a rectangular box.
  355. Areas are filled boxes; that is, boxes which have been filled with the same
  356. colour and pattern as the lines that make up their sides. Images are
  357. pictures
  358.  
  359.                 2-2
  360.  
  361. which have been created by another program such as Gem Paint, and then
  362. imported into a Forms Editor page.
  363.  
  364. Generally, each distinct element on screen forms a separate object. So, a
  365. line of text or a graphics line is usually a single object. But it is
  366. perfectly possible to construct a line (or any other item on screen) from
  367. several objects; you can make a long line from a number of short lines
  368. joined together.
  369.  
  370. What actually defines something as an object is the fact that it is created
  371. in one operation. In other words, pressing the mouse button after drawing a
  372. line defines it as a single object; similarly, pressing the Return key
  373. after typing something in means that it will be treated as a text object.
  374.  
  375. At this stage, you will find it helpful if you start thinking of a Forms
  376. Editor page as a collection of different types of objects. Chapter 3
  377. describes the options for adding objects to page. Chapter 4 explains how to
  378. select objects in order to modify them or reorganize them on the page.
  379.  
  380. FIELDS
  381. Fields provide the link between the Forms Editor and Superbase.
  382.  
  383. These are the elements that enable you to use a form within Superbase,
  384. either for entering data in a file or for retrieving data. By attaching
  385. calculation and validation formulae to fields, you can give a form its own
  386. data processing capability. Working together, these features allows you to
  387. build relational links between different files into a form; or to set up a
  388. form that calculates results automatically as soon as data is entered in a
  389. field.
  390.  
  391. Although fields are treated as objects in the same way as lines or text,
  392. there are two important differences. First, a field must already exist in a
  393. Superbase file before it can be added to a form. Second, the contents of a
  394. field are not shown on screen until it is used within Superbase; instead,
  395. the Forms Editor draws a field box where the contents will appear. When you
  396. come to use the form from Superbase, the field will either show the
  397. contents of a particular record,  or it will be blank, ready for data
  398. entry.
  399.  
  400. MENUS AND DIALOGS
  401. The Forms Editor functions and controls are available from five menus.
  402. These work in the same way as other Superbase menus: to display (or pull
  403. down) a menu, move the mouse pointer over the menu heading on the bar at
  404. the top of the screen (On the Amiga, click the right mouse button to
  405. display the menu bar). The Forms Editor will then display the menu
  406. associated with the heading.
  407.  
  408.                 2-3
  409.  
  410. On Gem versions, you can select an item on the menu by moving the pointer
  411. over it and clicking on the left mouse button. As you do this, the Forms
  412. Editor highlights the item and, once you have clicked the mouse button,
  413. withdraws the menu. If you want to de-select a menu, move the pointer away
  414. from the menu bar and click the mouse button.
  415.  
  416. On the Amiga, you select an item by highlighting it with the pointer and
  417. then releasing the right mouse button.
  418.  
  419. When you select certain items such as Attributes on the Edit menu or Open
  420. Page on the Project menu, you will be presented with another menu or a
  421. dialog, which gives you a further set of items to choose from.
  422.  
  423. USING DIALOGS
  424. Almost all the Forms Editor dialogs include a choice of some kind, and
  425. require you to select an item.
  426.  
  427. Some dialogs show a panel that contains a list of names such as file names
  428. or directory names. There are two ways of selecting a name:
  429.  
  430. Click once on the name to place it in the Selection Box. Then click on OK.
  431. With some dialogs you may be able to press Return instead of clicking on
  432. OK. Double click on the name.
  433.  
  434. As a further alternative, you can also type the name directly into the
  435. Selection Box.
  436.  
  437. The dialog panel may be only a few lines long, so there may be more files
  438. then can be shown at one time. If there's a gap at the bottom of the scroll
  439. bar there are more items to be viewed. You can show them by dragging down
  440. the scroll bar at the right of the panel, or by clicking on the downwards
  441. pointing arrow gadget below the scroll bar.
  442.  
  443. One very important fact about dialogs is that you must respond to them
  444. before you can do anything else. Most dialogs have a Cancel button.
  445. Clicking on this returns you to whatever you were doing previously. If
  446. there's no Cancel button there is certain to be an OK button, and you can
  447. safely click on this once you've read the dialog.
  448.  
  449. Some dialogs include a Clear button. This has the effect of removing
  450. anything that's in the Selection Box, and can be used at any time.
  451.  
  452.                 2-4
  453.  
  454. GHOSTED ITEMS
  455. You will notice that some menu items are 'ghosted' and appear in faint
  456. script. This means that they are temporarily unavailable. usually the
  457. reason is that they require you to perform some other operation before they
  458. become available. Thus, you cannot add a field to a page if there are no
  459. fields to select, so the Fields option remains ghosted until you load a
  460. Superbase file.
  461.  
  462. Some of the font options on the Font menu may be ghosted for another
  463. reason: because they are not available to the system.
  464.  
  465. WORKING WITH FORMS
  466. CREATING A NEW FORM
  467. The New Form item on the Project Menu is used to start a new form. However,
  468. when you load the Forms Editor, the opening screen presents you with a
  469. blank untitled page. You can treat this as the first page in a new form.
  470.  
  471. New Form, therefore, only needs to be used when another form has already
  472. been opened. You may have loaded a form from disk and edited it, or you may
  473. have already created a new form and saved it on disk. If you now want to
  474. start work on a new form, you need to select this menu item in order to
  475. clear the first form from memory.
  476.  
  477. CREATING A NEW PAGE
  478. Selecting the New Page item on the Project menu inserts a blank page after
  479. the current page. For example, if the current page is Page 2, the new page
  480. will be Page 3.
  481.  
  482. Use this option when you want to add a new page to a form. It does not
  483. clear any pages that have already been opened.
  484.  
  485. When you create a new form, you will notice that the New Page menu item is
  486. ghosted. It does not become available until an object has been added to the
  487. first page in the form.
  488.  
  489. OPENING A FORM
  490. You use the Open Form item on the Project menu to load a form from disk.
  491. Select this option when you want to edit a form you have created
  492. previously, or when you want to view a form.
  493.  
  494. Selecting Open Form brings up a dialog which shows a list of the forms in
  495. the current directory. You can scroll down the list using the scroll bar at
  496. the
  497.  
  498.                 2-5
  499.  
  500. side. Once you have selected the form you want to open, you can either
  501. double click on the form name or click once on the name and then again on
  502. the OK gadget.
  503.  
  504. If a form has already been opened, it will be replaced by the form selected
  505. with Open Form. You cannot use the Open Form option to join two forms
  506. together - for this you need to use Open Page.
  507.  
  508. OPENING A PAGE
  509. The Open Page item on the Project menu opens a page that has previously
  510. been saved on disk.
  511.  
  512. Open Page works in the same way as Open Form except that it does not
  513. replace any pages that may have already been opened. Like Open Form,
  514. selecting Open Page brings up a dialog showing a list of page files on
  515. disk. But when you select a page from the list, it is inserted in the form
  516. after the current page. If you have just opened a new form, the page will
  517. be Page 1; if there are already four pages in your form and the current
  518. page is Page 3, the page you select will become Page 4. The previous Page 4
  519. will then become Page 5.
  520.  
  521. Open Page allows you to create new forms from old. Here are some of the
  522. ways this option can be used:
  523.  
  524. To load a single page so that it can then be edited. 
  525. To join two forms together. 
  526. To create a new form using the pages from other forms (or from a library of
  527.    pages). 
  528. To repeat pages.
  529.  
  530. Open Page works with pages that have been saved individually as pages (as
  531. '.pg' files), using the Save Page option. You cannot use Open Page to load
  532. pages that have been saved with the Save Form option. If you want to add
  533. the pages from one form to the pages in another, you will need to save them
  534. separately.
  535.  
  536. Note that when you save a page, it is not stored on disk with its current
  537. page number. This means that you can open the same page as many times as
  538. you wish in the same form - you can repeat pages.
  539.  
  540. Of course, it is unlikely that you will need to create a form with every
  541. page exactly the same. This feature, though, is useful for creating forms
  542. in which there are only small differences in each page. It lets you repeat
  543. a page and then edit in the differences.
  544.  
  545.                 2-6
  546.  
  547. CHANGING THE CURRENT PAGE
  548. The first three items on the Page menu - Goto, Next and Previous - enable
  549. you to change the current page. These options only work with pages that
  550. have already been opened.
  551.  
  552. Selecting Goto brings up a dialog which allows you to type in the number of
  553. another open page. When you press Return or click on OK, the Forms Editor
  554. makes the page whose number you have entered the current page and displays
  555. it in the page window.
  556.  
  557. The Next option takes you onto the next page. For example, if you have
  558. opened a form with four pages and the current page is Page 2, Next makes
  559. Page 3 the current page.
  560.  
  561. The Previous option takes you back to the previous page; if you are on Page
  562. 3, it makes Page 2 the current page.
  563.  
  564. SAVING A FORM
  565. Use the Save Form item on the Project menu to save the current form on
  566. disk. Selecting this option brings up a dialog where you can type in the
  567. form's name. If you enter the name of form which already exists, you will
  568. be asked if you want to replace the form on disk. Click on OK if you want
  569. to save a new version of the form under its old name; otherwise click on
  570. Cancel and then save the form under a new name.
  571.  
  572. This option saves all the pages in a form in their current order. If the
  573. form has only one page, it is saved as a single page form.
  574.  
  575. When Save Form stores a form on disk, it adds an '.sbv' extension to the
  576. form name.
  577.  
  578. SAVING A PAGE
  579. To save the current page on disk, select the Save Page option on the
  580. Project menu. This operates in the same way as Save Form, using a dialog.
  581.  
  582. Save Page ignores the current page's number. Once a page has been saved
  583. with this option, it can then be inserted at any point in a multiple page
  584. form (see Opening a Page).
  585.  
  586. Separate pages are stored on disk with the '.pg' extension name.
  587.  
  588.                 2-7
  589.  
  590. A SAMPLE SESSION
  591. Assuming you have just loaded the Forms Editor, your screen should look
  592. like this:
  593.  
  594.     PROJECT      PAGE     EDIT  SET  REPORT  FONT        FORM
  595.                      Untitled:  Page 1
  596.  
  597. The Forms Editor provides a number of options on the Set menu for drawing a
  598. page and adding text to a page. We refer to them here as design tools.
  599.  
  600. The Line option enables you draw straight lines. This is the default design
  601. tool, so you can start drawing a line straight away.
  602.  
  603. Position the drawing cursor (the small cross) anywhere in the display area
  604. and click the left-hand button of the mouse.
  605.  
  606. Move the pointer to the right. As you do this you will see that you have
  607. started to draw a straight dotted line from the position where you clicked
  608. the mouse, to where the cursor is currently located. Now decide where you
  609. want to draw the line to, and click the left-hand mouse button. The line
  610. will then be drawn on screen as a solid line.
  611.  
  612. Now draw a vertical line. As before, position the cursor anywhere on screen
  613. and click the mouse button. Then move the cursor down and click the mouse
  614. button a second time.
  615.  
  616. Lines can be drawn in different colours, different patterns, and with
  617. different thicknesses. These features, which are explained in Chapter 3,
  618. are known as a line's attributes. It is even possible to change a line's
  619. attributes after it has been drawn. But for the purposes of this example,
  620. we will stick to the default attributes.
  621.  
  622. You can now add other objects to the page, using the Box and Area design
  623. tools.
  624.  
  625.                 2-8
  626.  
  627. First you need to select Box from the Set menu. Move the cursor to the Set
  628. menu and click on Box. Then position the cursor somewhere in the Page
  629. window and click the left-hand button. You can now draw a box by moving the
  630. cursor down to the right. When you have drawn the box to the dimensions you
  631. want, click the left-hand button again to fix it on the page.
  632.  
  633. To draw an area, first select Area from the Set menu and then repeat the
  634. procedure for drawing a box.
  635.  
  636. Adding a field to the page is only slightly more complicated then adding a
  637. graphics object. The first step is to open a Superbase file using the Open
  638. File option on the Project menu. With a file open, select Fields from the
  639. Set menu. You will then be presented with a fields options dialog. For the
  640. time being we will ignore these options, so you should now click on OK.
  641.  
  642. This action takes you back to the page window. Position the cursor anywhere
  643. in the window and click the mouse button; another dialog will appear, this
  644. time showing a list of fields for the current file. When you select a field
  645. from the list - by doubling clicking on it, or clicking once and then again
  646. on OK - the Forms Editor will draw a field box on screen at the point where
  647. you last positioned the cursor.
  648.  
  649. There is no practical limit to the number of objects you can add to a page.
  650. You may now like to carry on with the same page, or you can clear the page
  651. - using the Clear option on the Page menu - and start again. At any point
  652. you can store your page on disk, using Save Page from the Project menu.
  653.  
  654. This section, however, is only intended to get you started on the process
  655. of designing a form. The next chapter covers the design tools in more
  656. detail.
  657.  
  658. HOUSEKEEPING
  659. Housekeeping covers a variety of different topics: looking at the disk
  660. directory,  changing the directory, removing forms from disk, and removing
  661. pages. Although these operations do not have a direct bearing on the task
  662. of creating a form, they need to be explained early on. As your disk fills
  663. up with more and more Forms Editor files, you will appreciate the
  664. importance of organizing them properly. It is as well to start off as you
  665. mean to continue.
  666.  
  667. DIRECTORIES AND SUBDIRECTORIES
  668. If you are running the Forms Editor on a hard disk machine, it is a good
  669. idea to store forms and pages in a separate directory from the program
  670. itself. You
  671.  
  672.                 2-9
  673.  
  674. may want to create several subdirectories; for example, one for Superbase
  675. files and one for forms and pages. But if you intend to use a form for
  676. displaying Superbase data, it should be in the same directory as the
  677. Superbase file. Your operating system manual will tell you how to create a
  678. subdirectory. This needs to be done before you load the Forms Editor.
  679.  
  680. If you have a floppy disk system, you are recommended to create a data disk
  681. for storing pages and forms separately from the program itself. Remember
  682. that you will have to format a blank disk before using it as a data disk.
  683.  
  684. CHANGING THE DIRECTORY
  685. Within the Forms Editor you can change the current directory and the
  686. current drive using the Directory option on the Project menu. Directory
  687. displays a dialog which lists all the directories below the current level;
  688. i.e. if you are already at the bottom of the directory tree, the dialog
  689. will be empty.
  690.  
  691. You can select a directory from the list in the usual way by clicking on OK
  692. or double clicking. Selecting '..' ('/') takes you to the next level up the
  693. directory tree. 
  694.  
  695. If you want to change to a directory in another branch of the tree, you
  696. will need to type in its name and pathname. For example, if you had a
  697. directory called Images, which was a subdirectory of SBforms, typing
  698.  
  699. \SBforms\Images
  700.  
  701. /SBforms/Images would make Images the current directory.
  702.  
  703. To change to another drive, type in the drive name - a:, b:, c:, or d:
  704. (DF0:, DF1:,  DH1:).
  705.  
  706. After typing in a directory name or a drive name, click on OK or press
  707. Return.
  708.  
  709. STATUS
  710. The Status option on the Project menu provides information about various
  711. aspects of the system. You can use it, for example, to find out how much
  712. memory is left, or to find out where you are in the directory tree.
  713.  
  714. Selecting Status brings up a dialog showing:
  715.  
  716. The Superbase files that have been opened.
  717.  
  718. The current directory.
  719.  
  720.                 2-10
  721.  
  722. The number of pages in the current form.
  723.  
  724. The amount of space remaining on the current disk.
  725.  
  726. The amount of free memory.
  727.  
  728. REMOVING FORMS AND PAGES
  729. Remove Form and Remove Page allow you to delete a form or a page from the
  730. disk. These options work in the same way as the equivalent operating system
  731. commands,  such as Erase in MSDOS and Delete in AmigaDOS: they delete the
  732. specified file from disk, and make the space it occupied available for
  733. further storage. Use Remove when you are running short of disk space, or
  734. simply to keep your directories tidy by deleting files that are no longer
  735. used.
  736.  
  737. RESOLUTION (AMIGA ONLY)
  738. On the Amiga, the Project menu includes a Resolution option which allows
  739. you to set the screen resolution and the number of colours. This gives you
  740. a choice of four different resolution and colour settings:
  741.  
  742.     Interlace on
  743.     4 Colours
  744.     8 Colours
  745.     16 Colours
  746.  
  747. You will find details of the video attributes for each of these settings in
  748. the Amiga User Guide.
  749.  
  750. When you save a form on disk, the current resolution setting is saved with
  751. it. When you load the form into memory, the screen will automatically be
  752. set to the same resolution.
  753.  
  754.                 2-11
  755.  
  756.              CHAPTER 3 - DESIGNING A PAGE
  757.  
  758. This chapter explains how to design a page. The term 'design' covers any
  759. and all of these activities:
  760.  
  761. Selecting different types of object to appear on a page.
  762. Adding objects to a page.
  763. Sizing objects.
  764. Positioning objects on page.
  765. Setting an object's attributes - such as its colour and pattern.
  766. Aligning objects with each other.
  767.  
  768. One aspect of designing a page which is not covered here is the option for
  769. defining validations and calculations for fields. These are explained in
  770. Chapter 5.
  771.  
  772. DESIGN TOOLS
  773. You will notice that the Set menu is divided into two groups of options.
  774. The options in the top group are the ones you use to add an object to a
  775. page. We refer to these as design tools. This section describes all the
  776. design tools except Calculation, and Validation (see Chapter 5).
  777.  
  778. OVERVIEW
  779. The procedure for using any of the design tools is essentially the same for
  780. all the options in the Set menu.
  781.  
  782. First select the design tool by pulling down the Set menu and selecting the
  783. appropriate item. Move the pointer (the small crosshairs) to the position
  784. in the forms window where you want to place the object. Now click the left
  785. mouse button to start creating an object.
  786.  
  787. If you have selected one of the graphics options - Line, Box, and Area -
  788. you can now draw the object to the size you require by moving the pointer.
  789. As you do this, the Forms Editor uses a dotted line to show where the
  790. object will appear and how big it will be.
  791.  
  792. When you have decided what you want the object to look like, click the left
  793. mouse button again. The Forms Editor will then draw it on screen according
  794. to the position and dimensions you have selected.
  795.  
  796. If you have selected the Text option, creating an object means typing in
  797. text
  798.  
  799.                 3-1
  800.  
  801. from the keyboard. When you have finished, you can either click the left
  802. mouse button a second time or press the Return key.
  803.  
  804. After you have selected Field, Calculation, or Validation, clicking the
  805. left mouse button will present you with a dialog. Chapter 5 explains how to
  806. proceed from there. The other Set menu option, Image, is covered in a later
  807. section in this chapter.
  808.  
  809. NOTE
  810. If you are familiar with other drawing or design programs, you may find
  811. some of the techniques used here slightly different. With some programs,
  812. you need to keep the mouse button pressed down while you draw a line, for
  813. example. Releasing the button then 'fixes' the line on the screen.
  814.  
  815. With the Forms Editor, things are much easier; you can take your hand away
  816. from the mouse in the middle of creating an object, and you can use the
  817. scroll bar to move the window to another part of the form. This gives you
  818. the chance to examine the picture and decide exactly what dimensions you
  819. want the object to have.
  820.  
  821. CANCELLING AN OPERATION
  822. On the Amiga, you can interrupt an operation by clicking the right mouse
  823. button. With Gem versions of the Forms Editor, once you have selected one
  824. of the graphics design tools - Line, Box, and Area - it is not possible to
  825. cancel the operation halfway through. Once you have started, you must
  826. complete the operation by clicking the mouse button a second time. As a
  827. result, you will sometimes find you have added an object to the page by
  828. mistake.
  829.  
  830. If you want to cancel the effects of the last operation, use the Undo
  831. option from the Edit menu. This removes the object you have just created.
  832. At a later stage, you can still remove any object, using Cut from the Edit
  833. menu.
  834.  
  835. Undo also works with the other design tools. However, with the Text option,
  836. the Forms Editor only creates an object if you type something in. This
  837. means you can cancel the operation by deleting characters and pressing the
  838. Return key. The other design tools - Field, Calculation, and Validation -
  839. bring up dialogs which provide Cancel buttons (so the problem doesn't
  840. arise).
  841.  
  842. SUMMARY
  843. Creating an object is a two click process. Click the left mouse button once
  844.  
  845.                 3-2
  846.  
  847. to start. Create the object - draw it, type it, or in the case of fields
  848. and calculations, select it from a dialog - and then click again to fix it
  849. on the screen. If you change your mind immediately after creating an
  850. object, use the Undo option to remove it from the page.
  851.  
  852. FIELDS
  853. Before you can add a field to a page, you need to open the Superbase file
  854. which the field belongs to. Do this in the same way as you would in
  855. Superbase itself: from the Project menu select the Open File option and
  856. then use the File dialog to select a file.
  857.  
  858. Provided a file is open, you can place any of its fields anywhere on a
  859. page. You can add fields from more than one file to the same page, and you
  860. can repeat the same field as many times as you wish (see the section on
  861. replicating fields further on in this chapter).
  862.  
  863. The procedure for adding a filed to a page is as follows:
  864.  
  865. 1. Select Field from the Set menu.
  866. 2. Set the field's attributes from the fields options dialog (see next
  867.    section), then click on OK.
  868. 3. Position the cursor on the page at the point where the field is to be
  869.    added. Then click the left mouse button.
  870. 4. Select a filed from the Fields dialog and click on OK, or double click
  871.    on the field name. If you want to select a field belonging to another
  872.    open file, you must first click on the upward pointing arrow to the
  873.    right of the File Name Box. This action selects the next open file, and
  874.    displays its name and the field names that belong to it. You can cycle
  875.    through all the open files by repeated clicking on the arrow.
  876. 5. The field will then be added to the page at the point where you placed
  877.    the cursor.
  878.  
  879. FIELD OPTIONS
  880. The fields options dialog is presented when you select Field from the Set
  881. menu. it provides two options governing the way a field is added to a page:
  882. auto field names and auto field borders.
  883.  
  884. If you set the auto field names option, the name of the selected field is
  885. added to the page as a text object in the standard System font. It is
  886. placed at the left of the field box.
  887.  
  888.                 3-3
  889.  
  890. The auto field borders option determines whether the field box is drawn
  891. with or without borders. By default, this option is not set, and the field
  892. box is drawn with a dotted line. When you select auto field borders, the
  893. Forms Editor draws the box with a border using a fixed pattern. If you
  894. print a form or load a form from within Superbase, the field will be shown
  895. with its border; the dotted lines around a field box only appear in the
  896. Forms Editor itself.
  897.  
  898. LINES
  899. The Forms Editor allows you to draw straight lines vertically or
  900. horizontally (but not diagonally).
  901.  
  902. The position of the pointer when you click the left mouse button forms the
  903. starting point for a line. Moving the pointer left, right, up or down,
  904. draws a line in that direction from the starting point. It is not necessary
  905. to move the pointer directly above or directly to the side of the starting
  906. point - the program checks to see if you are closer to the vertical or the
  907. horizontal and draws a vertical or horizontal line accordingly.
  908.  
  909. While you are drawing, the Forms Editor shows a dotted line. When you click
  910. the mouse button for a second time, the Forms Editor draws the line on
  911. screen in the current colour, thickness, and pattern (see the section on
  912. Attributes).
  913.  
  914. BOXES
  915. As with drawing a line, the initial position of the pointer on screen sets
  916. the starting point of a box. You can then draw a box by moving the pointer
  917. in any direction. As you do this, the Forms Editor expands the box to the
  918. new cursor position. In effect, drawing a box involves dragging the
  919. diagonally opposite corner away from the starting point.
  920.  
  921. Once you have settled on a particular size and shape for the box, click the
  922. mouse button again to fix it on the screen. The Forms Editor will then draw
  923. it using the current colour, thickness and pattern.
  924.  
  925. AREAS
  926. An area is a box that is filled with the currently selected pattern in the
  927. current foreground colour. It is drawn in exactly the same way as a box.
  928.  
  929. TEXT
  930. Text objects are created in the same way as any other objects. Select Text
  931. from the Set menu and position the cursor where you want the line of text
  932. to start. Click once and type in your characters. As you do this the
  933. characters are shown
  934.  
  935.                 3-4
  936.  
  937. on screen in the selected colour and style attributes, and in the selected
  938. font. Pressing the mouse button or the Return key completes the operation
  939. and fixes the text on the screen.
  940.  
  941. If you make a mistake while you are typing text in, you can edit it using
  942. the cursor keys together with the Del and Backspace keys. Move the cursor
  943. to the part of the line you wish to correct. Del then deletes the character
  944. to the right of the cursor; Backspace deletes the character to the left.
  945. (You can also edit the text after you have pressed Return - see Editing
  946. Text, Chapter 4.) Note that when you type in text, any characters to the
  947. right are pushed further along the line. In wordprocessing terms, text
  948. entry is always in Insert mode.
  949.  
  950. IMAGES
  951. The Forms Editor allows you to load images created with paint programs into
  952. the form. You could design your company logo with a program such as Gem
  953. Paint or Aegis Images, and incorporate it onto screen forms, which you
  954. could then print out as stationery masters for manual office work.
  955.  
  956. When you want to place an image on the form, it's best to move it into the
  957. current directory before starting work with the Forms Editor.
  958.  
  959. Select Image from the Set menu. Now position the mouse pointer at the place
  960. where you want the top left corner of the image to appear. Double click,
  961. and hold down the mouse button while you drag out the box that is to
  962. contain the image. Make the box larger than the image - it's easy to make a
  963. loaded image smaller, but impossible to make it bigger.
  964.  
  965. When you click to fix the lower right corner of the image box, the Forms
  966. Editor presents you with a list of the current files on the disk, from
  967. which you will choose your image. As there is no way of distinguishing
  968. suitable image files,  the list is not selective. This means that you must
  969. be careful to choose a compatible image file, such as .img for GEM, IFF for
  970. Amiga, and NeoChrome or Degas for Atari.
  971.  
  972. Select the image you want, and click on OK. The Forms Editor loads the
  973. image into the screen. Bear in mind that loading images created in one
  974. resolution into a form that is being created in another will have
  975. unpredictable results. The colours, or the aspect ration, or both, may be
  976. wrong.
  977.  
  978. Sometimes it is necessary to have a deliberate distortion of an image on
  979. the screen in order to produce a correct result on the printer, because of
  980. the difference in the aspect ratios of the two devices. The software leaves
  981. it up to you to arrange things to suit your own configuration, rather than
  982. forcing
  983.  
  984.                 3-5
  985.  
  986. you into an outcome which might not be what you wanted.
  987.  
  988. If you want to clip the image, use the Set Size option. You can only clip
  989. an area that begins at the top left corner - it's not possible to size the
  990. image and leave only the lower left corner, for example. If the results do
  991. not please you, go back to the paint program and change the source image
  992. file.
  993.  
  994. Images take up quite a lot of memory. If you try to load multiple images
  995. into the form, you may run out of memory.
  996.  
  997. ATTRIBUTES
  998. THE ATTRIBUTES WINDOW
  999. Selecting Attributes from the Edit menu opens the Attributes window. When
  1000. you first open the window, only the top half is shown. On Gem versions,
  1001. clicking on the diamond in the top right-hand corner (bottom right-hand
  1002. corner on the Amiga) opens the window up to its fullest extent; clicking on
  1003. the diamond a second time closes the window to half size. You can also move
  1004. the window to a new position on the screen.
  1005.  
  1006. Once you have set up the window in the way you find most convenient, it can
  1007. be left on screen so that it is always available while you are designing a
  1008. form. Alternatively, you can close the window and then call it up when it
  1009. is needed. The Attributes window enables you to change any of the following
  1010. settings:
  1011.  
  1012. The colour of the drawing pen.
  1013. The background colour.
  1014. The pattern in which lines, boxes and areas are drawn.
  1015. The text style-select Normal or any combination of Italic, Bold, and
  1016.     Underlined.
  1017. The field justification-set a field so that its contents are left or right
  1018.     justified, or centered.
  1019. Read Only-set this for a field or calculation to prevent the user from
  1020.     entering data in the file or calculation.
  1021. The thickness of a line.
  1022. The colour palette-by selecting a different colour from the palette, change
  1023.     any colour on screen instantly.
  1024. The object print status-choose whether any object or group of objects is to
  1025.     be printed or not.
  1026.  
  1027.                 3-6
  1028.  
  1029.               (PICTURE OF ATTRIBUTE SCREEN)
  1030.  
  1031. To set one of these attributes, move the pointer over its box and click
  1032. once. If you have set one of the attributes in the top two lines-to the
  1033. right of the pen/paper selector-it will then be highlighted.
  1034.  
  1035. Note: when you are designing a form, there is no need to worry about
  1036. whether you have selected the right attributes for your objects. An
  1037. object's attributes are not fixed and can be changed at any stage: the
  1038. background and foreground colours, the thickness of a line, text style,
  1039. area pattern-all these can be changed after the object has been drawn.
  1040. Chapter 5 covers this facility in more detail.
  1041.  
  1042. PEN/PAPER SELECTOR
  1043. This option is used to set the foreground or background colour for the next
  1044. object to be drawn. The circle in the middle shows the current foreground
  1045. colour. If you think of the Forms Editor as using a pen to draw objects,
  1046. the foreground colour is the colour that the pen draws in.
  1047.  
  1048. You can change the pen colour by clicking on one of the 16 colours in the
  1049. colour panel. First, though, you need to make sure that you select a colour
  1050. for the pen rather than for the paper. Do this by clicking the mouse button
  1051. while the pointer is inside the circle.
  1052.  
  1053. To change the paper colour (the background colour) click outside the circle
  1054. and then select one of the colours from the panel below.
  1055.  
  1056.                 3-7
  1057.  
  1058. PEN
  1059. There two ways of using colour in the Forms Editor. They are referred to
  1060. here as two colour modes. In Pen mode you can set the pen colour but not
  1061. the paper colour. Any object you create is then drawn in the current pen
  1062. colour against the existing paper colour.
  1063.  
  1064. Pen mode is the default colour mode. If you have selected the other mode,
  1065. Pen and Paper, you can switch back to Pen by clicking in the Pen box.
  1066.  
  1067. PEN AND PAPER
  1068. In this colour mode, both the pen (foreground) colour and the paper
  1069. (background) colour can be selected. The main applications for this mode
  1070. are with text and areas; but you can also use it to draw lines and boxes,
  1071. using an area pattern in two colours (see the section on Area Patterns
  1072. later in this chapter).
  1073.  
  1074. With text, the Pen and Paper colour mode allows you to set the background
  1075. colour for a line or even for each character. With areas, it has the effect
  1076. of filling in the spaces (shown in white in the area pattern panel) in a
  1077. pattern, using the selected paper colour.
  1078.  
  1079. The Pen and Paper colour mode is best illustrated by an example. First
  1080. select Text from the Set menu and then select the Attributes window. The
  1081. next step is to select Pen and Paper mode by clicking in its box. Using the
  1082. Pen/Paper selector, make the pen colour blue and the paper colour red (or
  1083. white and black if you have a monochrome display). If you now click in the
  1084. page window and type something in, you will see that the characters are
  1085. shown in blue, while the background colour for the line is red.
  1086.  
  1087. Note that Pen and Paper only allows you to select the background colour for
  1088. an object, and not for the whole page. By default the paper colour for the
  1089. page is white. On the Amiga, you can change this to another colour using
  1090. the Palette; but with Gem versions it is not possible to alter the paper
  1091. background for the page from within the Forms Editor.
  1092.  
  1093. However, there is an easy way round this problem if you want to print forms
  1094. with a consistent colour or shaded background. Select the solid area
  1095. pattern and draw an area as the first object. If you draw it so that it
  1096. covers the whole page, any future objects can be drawn against this
  1097. background. This technique can also be used to give rectangular blocks of
  1098. objects-say, all the objects in a column-a different background colour.
  1099.  
  1100.                 3-8
  1101.  
  1102. COLOUR PALETTE
  1103. The Colour Palette is used to change the colours of objects on screen after
  1104. they have been drawn. It allows you to assign a different colour to any of
  1105. the 16 colours in the Colour Panel-on the Amiga, this figure varies
  1106. according to the resolution (see Chapter 2). Any object that have been
  1107. drawn in that colour will be instantly shown in the new colour. (The same
  1108. effect can be achieved by changing an object's attributes-see Editing
  1109. Attributes in Chapter 4).
  1110.  
  1111. Some users may find the Colour Palette facility a little confusing. The
  1112. best way to understand it is to think of the Forms editor as providing 16
  1113. pens, each with a different coloured ink. The Colour Palette enables you to
  1114. change the colour of the ink a pen uses. The total number of available
  1115. colours remains the same, but the way they are distributed can be altered.
  1116. If you wanted to, you could assign the same colour to all the pens. All the
  1117. boxes in the Colour Panel would then contain the same colour.
  1118.  
  1119. The procedure for assigning a colour from the Palette is as follows:
  1120.  
  1121. 1. Click on the Colour Palette icon-the Colour Selection dialog will
  1122.    appear.
  1123. 2. Select the colour you want to change by clicking on its box in the
  1124.    right-hand panel.
  1125. 3. Select a different colour from the left-hand panel-the colour in the
  1126.    right-hand panel will then change to the colour you have selected from
  1127.    the left-hand panel.
  1128. 4. Click on the OK gadget.
  1129.  
  1130. You will notice that any objects (or their backgrounds) drawn in the old
  1131. colour are now shown in the colour you have selected. If you want to reset
  1132. objects to their initial colours, click on the Reset gadget in the Colour
  1133. Selection dialog.
  1134.  
  1135. OBJECT PRINT STATUS
  1136. This attribute determines whether an object is printed or not. As you will
  1137. see when you come to print out a form (Chapter 7), you have the option of
  1138. printing all the objects in a form or only certain types of objects. The
  1139. Object Print Status further extends the printing options, and allows you to
  1140. leave out selected objects, irrespective of what type they are.
  1141.  
  1142. When the object print status box is highlighted, any object you select will
  1143. not be printed. The default print status for objects is 'on'; that is, an
  1144. object is
  1145.  
  1146.                 3-9
  1147.  
  1148. printed unless you specify otherwise. If you do not want an object to be
  1149. printed, first select the object by double clicking on it and then make
  1150. sure that the Print Status box is highlighted.
  1151.  
  1152. TEXT STYLES
  1153. These attributes set the style in which characters are printed (on screen
  1154. and on paper). From left to right, they are:
  1155.  
  1156.     Normal    Bold  Underlined  Italic
  1157.  
  1158. When a style has been selected, its box is highlighted. To select a
  1159. particular style click on the appropriate box, and click a second time to
  1160. deselect it. Normal cannot be selected at the same time as one of the other
  1161. styles, but otherwise you can have any combination of text styles. For
  1162. example:
  1163.  
  1164.     Bold and italic
  1165.     Bold and underlined
  1166.     Italic and underlined
  1167.     Bold, italic and underlined
  1168.  
  1169. See also the section on Text fonts, later in this chapter.
  1170.  
  1171. FIELD JUSTIFICATION
  1172. You use this attribute to specify where the contents of a field will be
  1173. placed in the field's box. Field justification only applies when forms are
  1174. used with Superbase files.
  1175.  
  1176. There are three alternatives. Field data can be left or right justified, or
  1177. centered. The justification panel has three compartments. Click in the
  1178. appropriate compartment to set the type of justification you want. Any
  1179. fields you add to a page will take the current justification attribute. If
  1180. you want to change the way a field is justified, first select the field and
  1181. then change the justification in the Attributes box.
  1182.  
  1183. READ ONLY
  1184. The Read Only attribute is represented by the letter R at the right of the
  1185. justification panel. You may want to set this attribute when you are
  1186. designing a form for data entry. It allows you to specify that the field
  1187. you have selected can only be read, and cannot be modified. This means that
  1188. you can use the field to display data from a Superbase file, but you will
  1189. not be able to enter data in the file through this field. The default
  1190. condition is that Read Only is not set, and fields can be both read and
  1191. written to.
  1192.  
  1193.                 3-10
  1194.  
  1195. Read Only can also be set for calculations.
  1196.  
  1197. AREA PATTERNS
  1198. Areas can be drawn in any one of the 16 area patterns shown in the area
  1199. pattern panel. The default pattern is Solid, shown at the top left-hand
  1200. corner of the panel.
  1201.  
  1202. You can select a different pattern by clicking on its box. The box will
  1203. flash to show that it has been selected and any future areas will then be
  1204. drawn in that pattern.
  1205.  
  1206. Lines and boxes are also drawn using the current area pattern. This
  1207. provides you with a variety of different dotted and broken lines to choose
  1208. from. When the Form Editor draws a line, it takes the top line from the
  1209. current area pattern. So, if you want to draw a dotted line select box 4;
  1210. for a dotted line with fewer dots in it, select box 6; and for a broken,
  1211. select box 8.
  1212.  
  1213. The fact that lines (and boxes) can be drawn with the current area pattern
  1214. means that lines can take two colours. You can see this effect if you
  1215. select the Pen and Paper colour mode together with one of the broken or
  1216. dotted line patterns.
  1217.  
  1218. LINE THICKNESS
  1219. Four degrees of line thickness, and two types of line pattern, are
  1220. available from the panel at the bottom of the Attributes window. They
  1221. determine the thickness of both Line objects and Box objects.
  1222.  
  1223. The default line is the one shown in the left-hand box. Click on one of the
  1224. other boxes to select a different thickness or pattern.
  1225.  
  1226. TEXT FONTS
  1227. On Gem versions, text can be displayed in one of three different fonts -
  1228. System,  Swiss and Dutch-and in a range of different point sizes. (The
  1229. Amiga offers a different set of fonts and point sizes.) The point size
  1230. determines how high a character is. There are 72 points to the inch, so a
  1231. capital letter in 36 point type size will be printed half an inch high,
  1232. although it may not be shown in exactly this size on screen.
  1233.  
  1234. Note that although you can alter they style of a text object, you cannot
  1235. change its font and point size once it has been added to the page.
  1236.  
  1237.                 3-11
  1238.  
  1239. CROSSHAIRS
  1240. The Crosshairs option provides a drawing aid rather than a tool for
  1241. creating objects. It allows you to replace the normal drawing cursor by
  1242. crosshairs - that is, two intersecting lines which run horizontally and
  1243. vertically across the page window. Used in conjunction with any of the Set
  1244. menu options, the crosshairs enable you to line up objects with each other.
  1245.  
  1246. Unlike the design tools, the Crosshairs option is selected from the Edit
  1247. menu. The menu item acts as a toggle: click once to select Crosshairs,
  1248. click again to turn it off.
  1249.  
  1250. A line and column counter is provided with the Crosshairs option, allowing
  1251. you to see the precise position of any object on the form.
  1252.  
  1253. If the Align option is not selected, the counter will show line and column
  1254. values in pixels. If Align is switched on, the values will be for
  1255. character-based line and column positions.
  1256.  
  1257. ALIGN
  1258. Like the Crosshairs option, Align is an editing aid rather than a design
  1259. tool. It is used to make sure that objects line up with each other on the
  1260. page.
  1261.  
  1262. Align is either on or off. When it is on, the Forms Editor imposes an
  1263. invisible grid on the page. This ensures that any object you add to a page
  1264. is aligned with the nearest character boundary. The character boundaries
  1265. are worked out according to the standard system font, and form a grid of
  1266. lines across the whole page 240 characters wide by 66 characters deep.
  1267.  
  1268. Align can also be used to line up objects after they have been added to a
  1269. page. First you need to select the objects you want to align (Chapter 4
  1270. explains how to select objects). Clicking on Align will then have the
  1271. effect of shifting the objects so that they lie on or start from the
  1272. nearest character boundaries. The default condition is that Align is off.
  1273. Selecting Align from the Edit menu turns it on, and places a tick next to
  1274. it on the menu; selecting Align again, turn it off.
  1275.  
  1276.                 3-12
  1277.  
  1278. REDUCE
  1279. The Reduce menu option scales down the form, bringing the entire 240 column
  1280. by 62 row form page into view. This is very useful for checking the overall
  1281. layout of the form design.
  1282.  
  1283. The reduced view may not be edited. Most of the menu options are disabled
  1284. when you select Reduce.
  1285.  
  1286. When you are looking at the reduced view, the word Reduce on the Edit menu
  1287. is replaced with the word Normal. If you now select Normal, you are
  1288. returned to the original display.
  1289.  
  1290.                 3-13
  1291.  
  1292.                CHAPTER 4 - EDITING FORMS
  1293.  
  1294. There are two ways in which you can edit a form. First, you can edit
  1295. individual pages, altering the arrangement and appearance of objects on a
  1296. page. Second you can change a form's page order.
  1297.  
  1298. In this chapter, we describe the options provided for editing a form. We
  1299. also introduce two new concepts: the Hierarchy of Objects, and the
  1300. Clipboard.
  1301.  
  1302. HIERARCHY OF OBJECTS
  1303. When you add objects to a page you will notice that some of them are
  1304. superimposed on other objects, and some are placed underneath other
  1305. objects. The explanation is that objects have a hierarchy-or 'order of
  1306. precedence'-that governs which objects are placed on top of these.
  1307.  
  1308. The hierarchy is (from lowest to highest):
  1309.  
  1310.     Areas
  1311.     Boxes
  1312.     Lines
  1313.     Images
  1314.     Text
  1315.     Fields
  1316.  
  1317. The further down the list an object is, the higher the priority it is
  1318. given. Thus, boxes are placed on top of areas, and lines are placed on top
  1319. of boxes. If two objects belong to the same category of object, the most
  1320. recent object is placed on top of the other. Thus if you draw a series of
  1321. overlapping areas, it will look like a pile of papers and the last area
  1322. drawn will appear at the top of the pile.
  1323.  
  1324. One way of thinking about the hierarchy of objects is to imagine that each
  1325. type of object is drawn on a separate sheet of glass. A Forms Editor page
  1326. can then be thought of as six sheets of glass superimposed on each other,
  1327. with the sheet showing areas at the back and the fields sheet at the front.
  1328.  
  1329. There are two reasons why you should try and develop a clear idea of how
  1330. the object hierarchy operates. First, it obviously makes a difference to
  1331. the appearance of a page, and you will need to bear the hierarchy in mind
  1332. as you add new objects. Second, the hierarchy plays a part in determining
  1333. how objects are 'selected' (see the next section).
  1334.  
  1335.                 4-1
  1336.  
  1337. SELECTING OBJECTS
  1338. Some Forms Editor commands only work with objects that have been
  1339. 'preselected'. In other words, you need to select an object or a group of
  1340. objects before carrying out certain operations. These operations are:
  1341.  
  1342.     Cut
  1343.     Copy
  1344.     Replicate
  1345.     Move (with a group of objects)
  1346.     Edit attributes
  1347.     Set print status
  1348.  
  1349. You select an object by positioning the pointer over it and double clicking
  1350. the left mouse button. The Forms Editor will then show that the object has
  1351. been selected by outlining it in black with a broken line.
  1352.  
  1353. To select a group of objects, hold the Shift key down and click once on
  1354. each object in turn. Click on an object again to deselect it from the
  1355. group. If you are selecting a line or a box, you need to place the pointer
  1356. on the line or on one of the sides of the box. To select an area it is
  1357. sufficient to place the pointer anywhere inside the area.
  1358.  
  1359. When you select an object, the Forms Editor follows the object hierarchy
  1360. and if two objects occupy the same space it takes the one on top. You might
  1361. think this would make it difficult to select underlying objects. But it is
  1362. unlikely that you will design a page in which one object is completely
  1363. covered up, so you can usually find a part of the underlying object that is
  1364. not obscured by anything else.
  1365.  
  1366. In order to deselect an object or a group of objects double click on part
  1367. of the page that is not occupied by any object.
  1368.  
  1369. EDITING A PAGE
  1370. Editing a page includes:
  1371.  
  1372.     Rearranging the objects on a page.
  1373.     Moving objects to a new position.
  1374.     Removing objects from the page.
  1375.     Copying objects.
  1376.     Resizing objects.
  1377.  
  1378.                 4-2
  1379.  
  1380. This section describes the page editing options. Cut, Copy, Paste and Undo
  1381. are selected from the Edit menu. Move and Size are on the Set menu. Clear
  1382. is on the Page menu.
  1383.  
  1384. UNDO
  1385. For any operation involving one of the Set menu items, the Undo command
  1386. reverses the effect of the last action you carried out. If, for example,
  1387. your last action was to draw a box, Undo removes the box from the page; if
  1388. you have resized a line, Undo will restore the line to its original length
  1389. and position.
  1390.  
  1391. Undo also works with operations involving groups of objects. So if you have
  1392. Moved several objects together, Undo will return them all to their original
  1393. position.
  1394.  
  1395. Note that Undo only reverses the effect of Set menu actions. It cannot be
  1396. used to remove an object that has been added to the page with the Paste
  1397. option.
  1398.  
  1399. CLEAR
  1400. Clear clears a page, removing all the objects on a page. Use this option
  1401. when you want to discard your page design and start again.
  1402.  
  1403. Once a page has been cleared, it cannot be restored by using Undo. If you
  1404. think you might want to use a page design later, make sure that you save
  1405. the page before clearing it.
  1406.  
  1407. THE CLIPBOARD
  1408. The clipboard is an area on disk that the Forms Editor allocates for
  1409. storing objects temporarily. When you Cut or Copy an object, it is placed
  1410. on the clipboard. This area, then, has two functions. It acts as a trash
  1411. can where you can dispose of unwanted objects, and it also acts as
  1412. temporary stopping place for objects which will be later pasted onto a
  1413. page.
  1414.  
  1415. The clipboard can only hold one object or one selected group of objects at
  1416. a time. If there is already an object on the clipboard, using Cut or Copy
  1417. replaces the existing object (or objects) with a new one.
  1418.  
  1419. CUT
  1420. Cut removes selected objects from the screen and stores them on the
  1421. clipboard. It is used to remove objects from a page permanently, and it can
  1422. also be used in conjunction with Paste to transfer objects to another page.
  1423.  
  1424.                 4-3
  1425.  
  1426. To cut an object (or objects), first select it by double clicking on it,
  1427. then pull down the Edit menu and click on Cut.
  1428.  
  1429. COPY
  1430. Copy works in the same way as Cut, except that it copies a selected objects
  1431. onto the clipboard, and does not remove objects from the page. You can use
  1432. it with Paste to duplicate an object on the page as many times as you like.
  1433. It can also copy objects to other pages.
  1434.  
  1435. Copy is particularly useful when you are creating a form in which rows and
  1436. columns are repeated. Suppose you are building a form for data entry, and
  1437. you want each row to have a box where the user keys in data. With Copy, you
  1438. only need to draw a box on the first row and you can then use Paste to
  1439. repeat it on each successive row.
  1440.  
  1441. PASTE
  1442. Paste takes whatever is on the clipboard-a single object or a group of
  1443. objects - and copies it onto the current page.
  1444.  
  1445. To use Paste, first select it from the Edit menu. A dotted rectangle will
  1446. then appear on screen, showing where the clipboard objects will be pasted.
  1447. By moving the pointer, you can move the rectangle to any position on the
  1448. page. When you have decided where you want to place the clipboard objects,
  1449. click the left mouse button. The Forms Editor will then draw them on the
  1450. page.
  1451.  
  1452. Note that if there are no objects on the clipboard, there will be nothing
  1453. to paste on the page. Paste only works with objects that have been
  1454. previously copied or cut. However it does not remove objects from the
  1455. clipboard, so you can paste the same object as many times as you wish.
  1456.  
  1457. MOVE
  1458. The Move option is used to move any object or group of objects to a new
  1459. position on the page.
  1460.  
  1461. First you need to select the Move option from the Set menu. Then position
  1462. the pointer over an object you wish to move. Click once on the left mouse
  1463. button. At this point the object will be outlines with a broken black line
  1464. to show that it has been selected, and the pointer will change to the arrow
  1465. symbol. You can now move the object to a new position. When you click the
  1466. mouse button again,  the object will be removed from the old position and
  1467. redrawn at the new one.
  1468.  
  1469.                 4-4
  1470.  
  1471. MOVING A GROUP OF OBJECTS
  1472. Move also operates on objects that have been selected by double clicking on
  1473. them. One advantage of using this method is that it allows you to select a
  1474. group of objects (either before or after you select the Move option) and
  1475. then move all the objects in the group at the same time.
  1476.  
  1477. Another advantage is that you can move an object even if the pointer is not
  1478. positioned on top of it. You can place the pointer elsewhere on the page
  1479. and move the object in the same way as with the first method-by clicking
  1480. once and then moving the pointer.
  1481.  
  1482. SIZE
  1483. The Size option is used to change the size of graphics objects-lines,
  1484. boxes, areas and images.
  1485.  
  1486. The procedure for resizing an object is as follows:
  1487.  
  1488. 1. Select Size from the Edit menu.
  1489. 2. Move the pointer over the object and click the left mouse button.
  1490. 3. A dotted outline of the object will appear. Moving the pointer will
  1491.    expand or contract the object from the bottom right-hand corner (or the
  1492.    rightmost point in the case of a line).
  1493. 4. Click the mouse button to fix the object at the new size. The top
  1494.    left-hand corner of an object remains in the same position when you
  1495.    resize it. But you can reflect the object about this point in either the
  1496.    x axis or the y axis or both. This means that you can flip an object
  1497.    over at the same time as making it bigger or smaller.
  1498.  
  1499. EDITING ATTRIBUTES
  1500. After you have drawn an object, you can go back and change any of the
  1501. attributes you have given it. This editing facility applies to text and
  1502. graphics objects alike, to single objects or selected groups of objects,
  1503. and to new pages or pages that have been loaded from disk.
  1504.  
  1505. To change an object's attributes, you first need to select the object. Then
  1506. use the attributes window to set the new attributes: simply click on one of
  1507. the window options-line thickness, colour, pattern, text style (for text),
  1508. etc-and the object will instantly take on the new attribute.
  1509.  
  1510.                 4-5
  1511.  
  1512. To see how straightforward the process is, try this example:
  1513.  
  1514. 1. Select Area from the Edit menu and, without setting any attributes
  1515.    beforehand, draw an area. If you have just loaded the Forms Editor, the
  1516.    area will be drawn in a solid black pattern.
  1517. 2. Select the object you have just drawn by double clicking on it. You can
  1518.    now open the attributes window and start changing the area's attributes.
  1519. 3. Change the area's pattern, simply by clicking on another pattern in the
  1520.    panel.
  1521. 4. Change the foreground colour using the Pen and Paper colour selector.
  1522. 5. Click on the Pen and Paper icon to change the colour using Pen and Paper
  1523.    colour selector.
  1524.  
  1525. EDITING TEXT
  1526. Chapter 3 explains how to use the cursor keys to edit text while you are
  1527. typing it in. In the same way, you can also edit text after it has been
  1528. fixed on the page.
  1529.  
  1530. To use this facility, you first need to select Text from the Set menu. Then
  1531. position the cursor over a lien of text (an existing text object) and click
  1532. once. When you do this, the Forms Editor will draw a dotted line around the
  1533. text line and place the cursor at the front of it. You can now edit the
  1534. line-you can change its characters, delete them, or add new
  1535. characters-using the cursor keys,  the Del key and the Backspace key.
  1536.  
  1537. In allowing you to edit existing objects. Text operates in a different way
  1538. to the other design tools. Unlike Line, Box, Area and Image, the Text
  1539. option does not allow you to superimpose one object over another. You might
  1540. want to do this in order to create a 3D effect with a heading, for example.
  1541. The solution here is to use Copy to copy the text line to the clipboard,
  1542. then use Paste to superimpose it.
  1543.  
  1544. CHANGING PAGES
  1545. The order in which pages are placed in a form is not fixed. You can
  1546. rearrange them in any order you wish. Three options on the Page menu are
  1547. provided for this purpose: To Front, Swap >, and Swap < Using these with
  1548. Erase and Open Page (See Chapter 2) gives you complete control over the way
  1549. pages are put together
  1550.  
  1551.                 4-6
  1552.  
  1553. to make forms.
  1554.  
  1555. TO FRONT
  1556. This option makes the current page the first page in the form. For example,
  1557. if Page 5 is the current page, selecting To front makes it Page 1. The
  1558. previous Page 1 will now become Page 2.
  1559.  
  1560. SWAP >
  1561. This option swaps the current page with the page after it. Thus if Page 1
  1562. is current, it will become Page 2, and Page 2 will become Page 1.
  1563.  
  1564. SWAP <
  1565. This option swaps the current page with the page before it. Page 4, for
  1566. example,  would become Page 3, and vice versa.
  1567.  
  1568. ERASE
  1569. Erase deletes the current page from the form. At the same time, it closes
  1570. up the remaining pages and adjusts their page numbers.
  1571.  
  1572.                 4-7
  1573.  
  1574.          CHAPTER 5 - FORMS, FIELDS AND FILES
  1575.  
  1576. This chapter explains how to design the forms you will use with your
  1577. database files. Field and Calculation are the two options which establish
  1578. links between a Superbase file and a form; Validation and Order work with
  1579. fields and calculations once they have been added to a page; if a form
  1580. contains fields from more than one file, Link can be used to establish
  1581. links between the files. All five options are selected from the Set menu.
  1582.  
  1583. CALCULATION
  1584. Calculations can be regarded as special types of fields. They have the same
  1585. function as calculated fields in a Superbase file (see Chapter 2, Volume
  1586. 1). The differences are that the calculations in a form are not directly
  1587. attached to fields, but stand as objects in their own right; and, unlike
  1588. fields, they are not stored in Superbase files and only exist in a form. In
  1589. every other respect, a calculation can be treated as the same type of
  1590. object as a field.
  1591.  
  1592. To add a calculation to a form, select the Calculation option from the Set
  1593. menu- this option will only be available if a file has been opened. You
  1594. will then be presented with the field options dialog. Set this in the same
  1595. way as for fields.
  1596.  
  1597. Now move the cursor to the position on the page where you wish the
  1598. calculation to be added. When you click the mouse button, the Forms Editor
  1599. will display a dialog for the calculation name. Type in a name for the
  1600. calculation and click on OK.
  1601.  
  1602. The name allows you to refer to the calculation in other calculations. The
  1603. rules for creating calculation names are the same as the rules for variable
  1604. names, as set out in Chapter 2 in the DML Reference Guide. Within the
  1605. limits specified, you can enter any name you like, but it is sensible to
  1606. choose a name which indicates the calculation's purpose. For example, if
  1607. you were defining a calculation to show the total for a column of numeric
  1608. fields, you might name it Subtotal1.
  1609.  
  1610. After entering the name, the next step is to enter a formula for the
  1611. calculation. Superbase will present you with a formula dialog. This is the
  1612. same as the dialog which is used for creating calculation formulas in a
  1613. file definition. See Chapter 2, Volume 1, for a full explanation of how to
  1614. create a formula.
  1615.  
  1616.                 5-1
  1617.  
  1618. The formula you attach to a calculation in a form may refer to fields in
  1619. any of the open files even if they are not shown on the form (at least one
  1620. other field from the same file must be present as an object in the form).
  1621. It may also refer to other calculations. In addition, you can create
  1622. formulas using the system variables NOW and TODAY.
  1623.  
  1624. In the Forms Editor, only the name of the calculation will be shown on the
  1625. page. When the form is used in Superbase, the result of the formula will be
  1626. calculated and displayed in place of the name.
  1627.  
  1628. USING REPORT FUNCTIONS IN CALCULATIONS
  1629. If you are designing a form such as an invoice, which requires a
  1630. transactional structure in which a field (or more probably a group of
  1631. fields) is to be repeated down the page, you are likely to need a way of
  1632. performing calculations, such as totalling, on one or more of the fields.
  1633. Ordinary calculation syntax does not allow you to do this, as each of the
  1634. fields to be totalled has the same name. A calculation like this:
  1635.  
  1636.     amount + amount + amount
  1637.  
  1638. is meaningless.
  1639.  
  1640. The Forms Editor allows you to use the special Report Functions to achieve
  1641. the required results. So to produce a total for a field called Amount which
  1642. occurred perhaps 20 times on a form, all you would have to do is type in a
  1643. calculation like this:
  1644.  
  1645.     SUM Amount
  1646.  
  1647. Notice that the calculation operates on all the replicated occurrences of
  1648. the field that follows it. The keyword can be followed by only one field
  1649. name, and complex expressions are not allowed.
  1650.  
  1651. The other Report functions likewise operate on all the occurrences of the
  1652. fields that they refer to. The Functions are:
  1653.  
  1654.     SUM    MEAN    SD (standard deviation)
  1655.     MAX    MIN    VAR (variance)
  1656.  
  1657. Each of these functions provides a rolling result, which is updated in the
  1658. same way as any other calculation, as you enter or edit data.
  1659.  
  1660. Since the Report Functions are used in calculations which have their own
  1661. names, they can be indirectly used in other calculations on the form.
  1662.  
  1663.                 5-2
  1664.  
  1665. VALIDATION
  1666. The Validation option works in the same way as it does in Superbase
  1667. Professional when it is used in a file definition. It allows you to assign
  1668. a validation formula to a field. The formula sets the limits to what you
  1669. can enter in the field.
  1670.  
  1671. To assign a validation formula to a field, first position the cursor over
  1672. the field. When you select Validation from the Set menu, you will be
  1673. presented with a Validation dialog. You can then create the formula by
  1674. making selections from the dialog. The exact procedure for creating a
  1675. validation formula is explained in Volume 1, Chapter 2.
  1676.  
  1677. REPLICATING FIELDS
  1678. With some applications, you will want to repeat the same field at different
  1679. points on the page. One way of doing this is to repeat the fields selection
  1680. procedure each time you add the field. However, an easier way is to use the
  1681. Replicate option from the Edit menu. This option allows you to repeat a
  1682. field as many times as you wish, in one go.
  1683.  
  1684. First select the field you want to replicate by double clicking on it, and
  1685. then select Replicate. This action calls up a dialog where you can enter
  1686. the number of repetitions required. Type in the number and click on OK.
  1687. Starting from the line below the first occurrence of the field, the Forms
  1688. Editor will then replicate the field the specified number of times.
  1689.  
  1690. Replicate can also be used with calculations.
  1691.  
  1692. SETTING THE FIELD ORDER
  1693. The Order option allows you to define the order in which data is entered
  1694. into fields. You can use it when you are designing forms for data input to
  1695. Superbase files.
  1696.  
  1697. By default the field order is the order in which you add fields to a form.
  1698. For example, if you add a Firstname field before a Lastname field, users
  1699. will be required to type in their first names before typing their last
  1700. names. Using the Order option, you can instruct the Forms Editor only to
  1701. accept data in the order you specify, irrespective of how the fields were
  1702. added to a page and where they are positioned on the page. The field order
  1703. applies to all the fields in a
  1704.  
  1705.                 5-3
  1706.  
  1707. form, so you can also define an order which extends over more than one
  1708. page. When you select Order, you are first presented with a dialog which
  1709. gives you a choice of resetting the current order or leaving it as it is.
  1710. If you select Reset, the fields are numbered from left to right on the same
  1711. line, then line by line, and page by page:
  1712.  
  1713.     FIELD1    FIELD2    FIELD3
  1714.     FIELD4    FIELD5    FIELD6
  1715.     FIELD7    FIELD8    FIELD9
  1716.  
  1717. When you have clicked on OK or Cancel in the dialog, the Forms Editor
  1718. displays the field order on screen using an order number for each field.
  1719. You can now define a new order by clicking in field boxes. The rules for
  1720. setting a field's order number are:
  1721.  
  1722. With your first action, select a field as the current field by clicking in
  1723. it once.
  1724.  
  1725. Thereafter, click once in a field to make it the next field in the order
  1726. sequence. The field you click in then becomes the current field. Click
  1727. twice (but do not double click) to take a field to the top of the list-to
  1728. make it the first field.
  1729.  
  1730. This may seem a little complicated. In practice, though, the procedure is
  1731. straightforward. You first select the field you want to start from;
  1732. clicking once in this field makes it the current field and does not reset
  1733. its order number. Then you define the order for the remaining fields by
  1734. clicking in each field once.
  1735.  
  1736. We can illustrate by taking the field order shown above as an example.
  1737. Suppose the first three fields you clicked on were Field2, Field5, and
  1738. Field9. The new field order would then become:
  1739.  
  1740.     FIELD1    FIELD2    FIELD5
  1741.     FIELD6    FIELD3    FIELD7
  1742.     FIELD8    FIELD9    FIELD4
  1743.  
  1744. After the first click, clicking on a field automatically changes its order
  1745. number and, at the same time, makes it the current field. If you want to
  1746. select a field without changing its number, go back to the Set menu and
  1747. select Order; then click on Cancel and start again.
  1748.  
  1749. Note that even if one field is only slightly higher on the page than
  1750. another,  the Forms Editor will regard it as being on a different line.
  1751. When you reset the field order the field on the higher line will be placed
  1752. before the field on the line below, despite the fact that it may appear to
  1753. be on the same line, 
  1754.  
  1755.                 5-4
  1756.  
  1757. and may be positioned further to the right.
  1758.  
  1759. LINKING FILES
  1760. The Set Link option is used to establish the relationships between the
  1761. files associated with a form, so that Superbase can retrieve the correct
  1762. sets of records when you browse through multiple file forms.
  1763.  
  1764. Link works like a relational query. There must be a point of contact is a
  1765. field which has the same content in both files, such as an account number,
  1766. a part code,  or an invoice number. As in Query, you must set a
  1767. relationship of equality between these two fields, which Superbase can use
  1768. as a way of looking up the right records.
  1769.  
  1770. When your form includes fields from only one file, there is no need to set
  1771. a link. Only when there are two or more files do you need to use the
  1772. option. The Forms Editor will let you save a form that uses multiple files
  1773. without setting links for all the files, but the files will be displayed
  1774. independently.
  1775.  
  1776. USING THE LINK OPTION
  1777. When you select Set Link, the Forms Editor displays a dialog box which you
  1778. use to select the fields to be linked.
  1779.  
  1780. At the top is a file name, with a file selector button next to it. You
  1781. click on this button to cycle through the open files. The fields for each
  1782. file are displayed in the field name panel below the file name.
  1783.  
  1784. Below the field name panel are two selection boxes. These will contain the
  1785. names of the two fields that you link. To the right of the selection boxes
  1786. is a Set button. This is used to confirm the selections.
  1787.  
  1788. A TWO FILE EXAMPLE
  1789. Suppose you have designed a form to show a summary of deposit details for
  1790. each client. You must establish a link between the Deposits file and the
  1791. Clients file. This would take the form of the client's last name, which is
  1792. included in every deposit record. So the link would have this structure:
  1793.  
  1794.     lastname.CLIENTS=lastname.DEPOSITS
  1795.  
  1796. In this case, the Clients file is said to be the Master file in the link,
  1797. as you would normally want to browse through the forms in Client order,
  1798. retrieving a group of deposits for each client. The Deposits file is then
  1799. referred to as the Secondary file in the link.
  1800.  
  1801.                 5-5
  1802.  
  1803. In the Set Link dialog, the message at the top of the panel acts as a
  1804. prompt, so that you can see at a glance which part of the operation you are
  1805. doing. When you first select the option, the message reads "Set master link
  1806. field". The field you click on now will be designated as the link field in
  1807. the master file. In our example, you would first select the Clients file,
  1808. then click on the Lastname field. The Forms Editor would then place
  1809. Lastname in the upper selection box, which has a highlighted pointer next
  1810. to it indicating that it is active. You can change the field in the box by
  1811. clicking on another field. When you're ready, click on Set to confirm your
  1812. selection.
  1813.  
  1814. After you have selected a field for the upper box, the message at the top
  1815. of the dialog changes to "Set secondary link field". You must now select a
  1816. field from the other file, in our example the Lastname field from the
  1817. Deposits file. Notice that once you have selected a field from the master
  1818. file, you cannot select the secondary link field from the same file, as the
  1819. Forms Editor automatically removes it from the list of available files.
  1820.  
  1821. Once you have chosen the two fields that form the link, their names will
  1822. appear in the two selection boxes:
  1823.  
  1824.     Lastname.CLIENTS
  1825.     Lastname.DEPOSITS
  1826.  
  1827. Now you confirm the link by clicking on Set. If there are only two files to
  1828. be linked, you can then exit by clicking on OK. The Forms Editor will store
  1829. the link information with the '.sbv' file, and also in the program file
  1830. that is generated when you create a report form.
  1831.  
  1832. LINKING MORE THAN TWO FILES
  1833. Many applications will use forms which include fields from three or more
  1834. files. There can be only one master file. In every other link, the file
  1835. from which the field name is chosen for the upper selection box is called
  1836. the Primary file; the other file is still called the Secondary file.
  1837.  
  1838. The messages at the top of the dialog box always indicate whether you are
  1839. selecting a field from a master, a primary, or a secondary file. The Forms
  1840. Editor automatically makes the correct set of files available for
  1841. selection, depending on which part of the operation you are performing.
  1842.  
  1843. When you are setting links for more than two files, you must first set the
  1844. master file link. After clicking on Set to confirm your selections, you
  1845. repeat
  1846.  
  1847.                 5-6
  1848.  
  1849. the operation for the next pair of files, and so on until all files have
  1850. been linked up.
  1851.  
  1852. EDITING EXISTING LINKS
  1853. Sometimes you may need to change links that you have already set up. The
  1854. main thing to remember is that changing the link structure at any point
  1855. causes all the subsequent links to be cleared, so you will have to set them
  1856. up again. Clearing the links like this is a necessary precaution against
  1857. ending up with an invalid structure.
  1858.  
  1859. When you select Set Link you will see the Master/Secondary link fields
  1860. displayed, with the upper field pointer highlighted. You can select any
  1861. field to replace the master file link field, or click on Clear to empty the
  1862. selection box. Any action which makes a change clears all the subsequent
  1863. link details. Click on Set to confirm new or existing selections, and to
  1864. move on to the following links. If the current selection box is empty,
  1865. clicking on Set has no effect. If you continue to click on Set, you will
  1866. cycle back through the structure.
  1867.  
  1868. LIMITS OF THE LINKING CAPABILITY
  1869. Although the ability to set links between files provides the system
  1870. designer with a powerful tool for creating applications, there is a limit
  1871. to the complexity of the forms which the data base can handle
  1872. automatically. In particular, you cannot set up forms where a transaction,
  1873. defined as a repeating group of fields in a form, has further transactions
  1874. of its own. In our example, each deposit is a transaction, so each deposit
  1875. may only be linked to another file on a one to one basis-you could look up
  1876. some bank details from the Accounts file, for example.
  1877.  
  1878. But consider an invoicing application where three files are linked
  1879. together: a customers file, an invoices file, and an invoice order lines
  1880. file. Here we can set up links to retrieve the invoices for each customer,
  1881. or the order lines for each invoice, structures which look like this:
  1882.  
  1883.     CUSTOMER DATA            INVOICE DATA
  1884.         Invoice 1 data            Order line 1 data
  1885.         Invoice 2 data            Order line 2 data
  1886.         Invoice 3 data            Order line 3 data
  1887.  
  1888.                 5-7
  1889.  
  1890. However, we cannot set up a form which will automatically retrieve both the
  1891. invoices for each customer and the order lines for each invoice, a
  1892. structure like this:
  1893.  
  1894.     Customer data
  1895.         Invoice 1 data
  1896.             Order line 1.1 data
  1897.             Order line 1.2 data
  1898.         Invoice 2 data
  1899.             Order line 2.1 data
  1900.             Order line 2.2 data
  1901.  
  1902. However, having indicated the restrictions, we must point out that since
  1903. Superbase is a programmable database, anything is possible, and forms of
  1904. far greater complexity than the one above can be set up and processed
  1905. easily by Superbase programs.
  1906.  
  1907. For further information on Forms and how they are used from within the
  1908. database itself, see Chapter 8, Using Forms and Reports, in this Volume.
  1909.  
  1910.                 5-8
  1911.  
  1912.               CHAPTER 6 - PRINTING FORMS
  1913.  
  1914. This chapter explains how to use Print, the Forms Editor's printing
  1915. facility. With this option you can create a 'hard copy' version of a page
  1916. that looks almost exactly the same as it does on the screen. You can also
  1917. specify exactly what is to be included in a printout and what is to be left
  1918. out. If you wish,  you can omit all the objects of a specified type, or you
  1919. can leave out just one or two selected objects of different types.
  1920.  
  1921. The quality of a printed form will depend on the type of printer used. But
  1922. even if you are using a low-cost dot matrix printer, you will still be able
  1923. to print forms that are suitable for most of your business requirements.
  1924. When a laser printer is used, the Forms Editor's output approaches the
  1925. quality of printed material produced by traditional typesetting methods.
  1926.  
  1927. PRINTING A PAGE
  1928. The Print option works with the current Forms Editor page and prints a
  1929. third of the page at a time. Each of the three parts of a page is referred
  1930. to here as a print zone. Remember that a page is 240 characters wide and 66
  1931. lines deep. A print zone is therefore the size of a single A4 sheet of
  1932. paper, 80 characters wide by 66 lines deep.
  1933.  
  1934. The procedure for printing a page is as follows:
  1935.  
  1936. 1. Make sure that your printer is on line.
  1937. 2. Select Print from the Project menu. You will then be presented with a
  1938.    dialog, which allows you to set various print options (see the next
  1939.    section),  including the print zone.
  1940. 3. Set the print options, and click on OK.
  1941.  
  1942. To print a multi-page form or to print more than one print zone in a page,
  1943. you need to repeat this process for each page and each zone.
  1944.  
  1945. PRINT OPTIONS
  1946. The Forms Editor provides two print modes, Draft and Graphics. To select
  1947. one of these two, click on the appropriate box in the Print dialog.
  1948.  
  1949.                 6-1
  1950.  
  1951. DRAFT PRINTING
  1952. In Draft mode, the Forms Editor only prints the text on a page, using the
  1953. printer's standard font. When you are designing a form, you could use this
  1954. mode to get a rough idea of what the page layout looks like.
  1955.  
  1956. There are many circumstances where it is not necessary to print record data
  1957. in 'letter quality' or 'near letter quality' print. But at the same time
  1958. you might want to improve the presentation of the data by using a standard
  1959. form in which it is neatly laid out with boxes, lines, heading, titles, and
  1960. so on. To do this,  would first design your standard form, taking advantage
  1961. of all the Forms Editor's graphics and text facilities; you would also
  1962. specify which fields are to be included on the form.
  1963.  
  1964. The next step is to photocopy or print out multiple copies of the form, and
  1965. feed them back into the printer. If you the use the form in Superbase to
  1966. extract the data, you will be able to print the data on the photocopy of
  1967. the standard form,  in the fields you have specified.
  1968.  
  1969. GRAPHICS PRINTING
  1970. In the Graphic print mode, the Forms Editor produces a hard copy version of
  1971. a page, which matches the appearance of the page on screen. Graphics
  1972. objects are copied to the printer with the same attributes as they have on
  1973. screen (except colour-see below); and text objects are printed in the same
  1974. font, in the same point size and with the same text style.
  1975.  
  1976. In addition, Graphics mode allows you to select which types of object you
  1977. want to print. This means you can omit certain types of objects from the
  1978. printout of a page. For example, you could instruct the Forms Editor to
  1979. leave out fields, or only to print text.
  1980.  
  1981. The print dialog provides a selection box for each of the six types of
  1982. objects. If you want to print an exact copy of the screen, you need to
  1983. click in all the boxes. When you select a particular type of object for
  1984. printing, its box is highlighted; clicking a second time deselects the
  1985. object and turns the highlight off.
  1986.  
  1987. Obviously, you will not be able to represent the colours you see on screen
  1988. on the printer, unless you have a colour printer. Any colours other than
  1989. white are printed as black.
  1990.  
  1991.                 6-2
  1992.  
  1993. PRINT ZONES
  1994. Most applications do not require forms that are wider than 80 columns, so
  1995. generally you will find that you only use the left-hand print zone.
  1996. However, you may want to create a wide form which runs across two or three
  1997. A4 sheets. In this case, you will need to specify which sheet you want
  1998. printed, using the print zone selector in the print options dialog.
  1999.  
  2000. The print zone selector is divided into three compartments. By default, the
  2001. Forms Editor prints the left hand zone. To print the middle zone or the
  2002. right hand zone, slide the box along to the corresponding compartment in
  2003. the print zone dialog.
  2004.  
  2005. OBJECT PRINT STATUS
  2006. The section on Attributes in Chapter 3 explains how to set an object's
  2007. print status. This attribute gives you a further choice over whether an
  2008. object is printed or not. Provided you have selected a type of object for
  2009. printing, the default condition is that all the objects belonging to this
  2010. type are printed. But by setting the object print status you can specify
  2011. that particular objects within an object type are omitted from your hard
  2012. copy version of a page.
  2013.  
  2014.                 6-3
  2015.  
  2016.            CHAPTER 7 - GENERATING REPORTS
  2017.  
  2018. In addition to its functions as a form design package and a screen painting
  2019. tool, the Forms Editor can be used as am effective generator of reports to
  2020. be used with Superbase databases.
  2021.  
  2022. As far as the Forms Editor is concerned, a Report is a special kind of
  2023. form. If you are working on an existing ordinary form, the Forms Editor
  2024. does not allow you to use the Report menu. Only when you select Project New
  2025. or load an existing Report form are the facilities of the Report menu made
  2026. available. This is also true for the Set Function option.
  2027.  
  2028. When you save a Report Form, the Forms Editor creates the usual '.sbv' file
  2029. which holds a definition of the structure and appearance of the form you've
  2030. designed. But as a Report is being created, the Forms Editor creates an
  2031. additional disk file, which is a Superbase program file, extension '.sbp'.
  2032. This is a Superbase program that you can either run unmodified from within
  2033. Superbase, or edit with the Program Editor to add your own special extras.
  2034.  
  2035. OVERVIEW
  2036. First you use Project New to clear the Forms Editor. Then you open a file
  2037. to enable the Report Menu. Then you use the Report menu options to create
  2038. the report structure. Each one generates a box on the screen, which defines
  2039. a section of the report, such as the heading. You just select the fields
  2040. you want and position them as you require, adding text for column and group
  2041. headings and so on. When you've finished you save the form in the usual
  2042. way. To use the report you first load Superbase, then either open the
  2043. report as a form or run the report program.
  2044.  
  2045. A NOTE ON GRAPHICS AND TEXT
  2046. Reports generated with the Forms Editor for use with Superbase are
  2047. straightforward ASCII output. You cannot include areas of colour, patterns,
  2048. or lines, nor can you print out images. Text will always appear in the
  2049. usual system font. (You can vary the colour of the text on screen, but it
  2050. won't print in colour). You can specify that any text item is underlines,
  2051. italic, or boldface, and the report will appear like that provided the
  2052. printer supports the feature.
  2053.  
  2054.                 7-1
  2055.  
  2056. You can of course design the stationery on which the report is to appear
  2057. with the Forms Editor.
  2058.  
  2059. CREATING A REPORT: STEP BY STEP 
  2060. PREPARATION
  2061. Select Project New Form. Open at least one of the files you will be using
  2062. in the report. This enables the options on the Report menu, and the Set
  2063. Function option. It also disables options not available for reports.
  2064.  
  2065. You may need to set up field links if you open and use more than one file.
  2066.  
  2067. SELECTING FIELDS TO BE PRINTED
  2068. Choose the Report Select menu option. The Forms Editor places a box on the
  2069. screen, with the word SELECT at the top. The default dimensions of the box
  2070. are three lines by 240 columns. The 240 column right-hand edge of the box
  2071. can be disregarded, as Superbase will follow the current printer settings
  2072. when actually printing the report.
  2073.  
  2074. Now use Set Field in the normal way to place fields from one or more files
  2075. inside the SELECT box. Use Move or Size to change the position or
  2076. dimensions of a field. The position of a field in the box determines where
  2077. it will be printed on the paper.
  2078.  
  2079. You can also use Set Calculation to place a derived field expression in the
  2080. SELECT box, and Set Text to add specific text messages.
  2081.  
  2082. Whatever you place inside the SELECT Box becomes the body of the report,
  2083. and will be printed out on every repeated line.
  2084.  
  2085. SPECIFYING A REPORT HEADING
  2086. Choose the Report heading menu option. This specifies the text that will be
  2087. printed at the top of every page of the report. The Forms Editor places a
  2088. box at the top of the screen with the word HEADING in the top line. Resize
  2089. the box if you want a larger area.
  2090.  
  2091. Now type in the text you want for the report heading. You are limited to
  2092. the standard system font, and the characters available on the normal
  2093. keyboard. If you want the system date or time to appear in the heading, you
  2094. must treat them as calculations, placing them in the HEADING box with the
  2095. Set Calculation option. The same applies to the page number. The relevant
  2096. system variables,  which should be entered as single keywords, are TODAY,
  2097. NOW, and PG; you can assign
  2098.  
  2099.                 7-2
  2100.  
  2101. the calculations any dummy names, as names are not used in the report.
  2102.  
  2103. The HEADING box should also include any column headings, since reports
  2104. generated from the Forms Editor (as opposed to the Superbase Query
  2105. function) do not use field names as automatic column labels.
  2106.  
  2107. SPECIFYING A REPORT FOOTING
  2108. Choose the Report Footing menu option. This specifies the text that will be
  2109. printed at the foot of each page of the report. The Forms Editor adds a box
  2110. with the word FOOTING in the top line. Extend it if you wish.
  2111.  
  2112. Now add any required text items; you may prefer to place the page number in
  2113. the FOOTING box rather than the HEADING box.
  2114.  
  2115. A report consisting of a heading, a footing, and a line of fields is about
  2116. the simplest type of report there is. You could save your Report Form at
  2117. this stage and use it effectively from within Superbase. But if you want to
  2118. achieve a more elaborate report structure, including subtotals and other
  2119. calculations, you must add further sections to the form before saving it.
  2120.  
  2121. GROUPS
  2122. For a fuller discussion of the concept of groups in a report, see Volume
  2123. One,  chapter 11. A group is essentially a way of providing a structure for
  2124. a report. Reports can have no groups, one group, or many groups. When a
  2125. report has several groups, it helps to think of each one as a level. For
  2126. example, if we were to produce a report of addresses in which a subtotal
  2127. was produced for every change of city, county and country, the report would
  2128. have three levels.
  2129.  
  2130. In the Forms Editor report generator, you can specify any number of report
  2131. groups or levels.
  2132.  
  2133. SPECIFYING A GROUP
  2134. Choose the Group option from the Report menu. The Forms Editor presents you
  2135. with a dialog from which you must select a field name. This will be the
  2136. field on which the report is grouped. When you click on OK, the Forms
  2137. Editor inserts two boxes into the report structure, on either side of the
  2138. SELECT box. These are the BEFORE GROUP box and the AFTER GROUP box. They
  2139. have the same field name in the top line so you can tell at a glance that
  2140. they are related.
  2141.  
  2142.                 7-3
  2143.  
  2144. THE BEFORE GROUP BOX
  2145. The BEFORE GROUP box contains text and data that you want to appear on
  2146. every change of group. You can include field names that do not appear in
  2147. the SELECT box. This is the way to produce reports that follow a
  2148. transactional structure:
  2149.  
  2150.     Customer number, customer name
  2151.         Order number, Order date, Order amount
  2152.         Order number, Order date, Order amount
  2153.     Customer number, customer name
  2154.         Order number, Order date, Order amount
  2155.         Order number, Order date, Order amount
  2156.     Customer number, customer name
  2157.         Order number, Order date, Order amount
  2158.         Order number, Order date, Order amount
  2159.         Order number, Order date, Order amount
  2160.  
  2161. Here, the Customer data is placed in a BEFORE GROUP box for the Customer
  2162. name or account number, and the Transaction data appears as a group of
  2163. fields in the SELECT box.
  2164.  
  2165. THE AFTER GROUP BOX
  2166. In this box you can place the usual text and field data, but you can also
  2167. include special reporting functions to produce subtotals, etc. Every time
  2168. the group changes, the AFTER GROUP box will be acted on.
  2169.  
  2170. If you want to make use of the special reporting functions, you must select
  2171. them with the Set Function menu option, which works in a similar way to the
  2172. Set Field or Calculation options. Select Set Function, then click where you
  2173. want the function to appear. You can only place functions in the AFTER
  2174. GROUP or AFTER REPORT boxes. When the Set function dialog appears, click on
  2175. one of the function buttons. The keyword is copied into the Selection box.
  2176. Now select a field name to follow it. Only select one field - you can't
  2177. have more than one item printed in the same place place. Click on OK, and
  2178. the Forms Editor places a field in the AFTER GROUP box, at the point where
  2179. you clicked. It's up to you to identify what the field is for by, for
  2180. example, typing some text next to it.
  2181.  
  2182. Repeat this operation for each special function you want printed out for
  2183. each group.
  2184.  
  2185. If you want to refer to the contents of the Group field that has just
  2186. registered a change use the GROUP keyword, for example:
  2187.  
  2188.                 7-4
  2189.  
  2190.     LAST GROUP WAS FOR: GROUP
  2191.  
  2192. This should be entered as a calculation with a dummy name.
  2193.  
  2194. MULTIPLE GROUPS
  2195. If your report requires several groups or levels, you must select Report
  2196. Group and set up a BEFORE GROUP and an AFTER GROUP box for each one. The
  2197. Forms Editor automatically inserts each new pair of group boxes on either
  2198. side of the SELECT box. This has the effect of determining the sorting
  2199. order for the report, so you should really set up the groups in order from
  2200. largest to smallest.
  2201.  
  2202. SPECIFYING REPORT FUNCTIONS
  2203. There is a sense in which the report can be treated as a single group. This
  2204. is necessary if you want to obtain totals, etc., for the report as a whole.
  2205.  
  2206. Select the Report Report menu option. The Forms Editor creates two further
  2207. boxes, with the words BEFORE REPORT and AFTER REPORT in their top lines. In
  2208. the BEFORE REPORT box you should place any text you want to appear before
  2209. the report proper starts, such as a note to the reader.
  2210.  
  2211. In the AFTER REPORT box you should place any text items, fields, and
  2212. special Report Functions that you want to appear after all the records for
  2213. the report have been printed. Choose all these items exactly as you would
  2214. do for a Group,  as described above.
  2215.  
  2216. THE REPORT FILTER
  2217. A report filter line is generated automatically when necessary, and placed
  2218. in the Superbase report program, as the WHERE part of the program's SELECT
  2219. statement.
  2220.  
  2221. The WHERE line contains only the information needed to relate files
  2222. together when more than one file has been used in a report. The information
  2223. is taken from the field links that you must set before you can save the
  2224. report form. If only one file has been used, no WHERE line is created.
  2225.  
  2226. When you run the report program from within Superbase itself, the program
  2227. displays a filter dialog, so you can add extra conditions to the
  2228. automatically generated filter line for use at runtime.
  2229.  
  2230. You can easily make these temporary extra conditions permanent by editing
  2231. the report program and saving it, under a separate name if you prefer.
  2232.  
  2233.                 7-5
  2234.  
  2235. SORTING
  2236. A default sorting order for the report is generated automatically when
  2237. necessary. The Forms Editor derives this from the sequence of Groups in the
  2238. report structure, and builds an ORDER line, which is placed in the
  2239. Superbase report program. If no group is specified in the report structure,
  2240. the ORDER line includes the name of the first field in the SELECT box.
  2241.  
  2242. As with the Filter, when you run the report program from within Superbase,
  2243. you will be asked whether you wish to add any extra fields to the ORDER
  2244. line. You might wish to sort within the records by date or amount, without
  2245. actually specifying a group for such fields.
  2246.  
  2247. All the fields used for sorting the report are sorted in ascending order.
  2248. If you wish to change this you can alter the ORDER line when it is
  2249. presented at runtime.
  2250.  
  2251. SAVING THE REPORT FORM
  2252. When you have specified all the elements of the report form, save it in the
  2253. usual way, using Project Save. The Forms Editor generates the two files
  2254. that the system will need to allow you to execute the report or load it
  2255. again into the Forms Editor for modification.
  2256.  
  2257. REFINING YOUR REPORT
  2258. You can add certain extra features to your report to enhance its appearance
  2259. and usefulness.
  2260.  
  2261. TITLE PAGE
  2262. If you want to print a separate title page, select the Page before Report
  2263. option. Anything that is in the BEFORE REPORT box will be printed before
  2264. the report proper begins.
  2265.  
  2266. TOTALS PAGE
  2267. Select the Page before Totals if you want the report to print the report
  2268. totals on a separate page.
  2269.  
  2270. SUMMARY REPORTS
  2271. Select the Summarize option from the Report Options, and the report will
  2272. omit the detail normally printed from the SELECT box.
  2273.  
  2274.                 7-6
  2275.  
  2276. PAGE ON GROUP
  2277. You can force the report to eject a new page after any group. Select this
  2278. option from Report Options, and click on the required fieldname. The Forms
  2279. Editor places the word EJECT in the top line of the relevant AFTER GROUP
  2280. box. This option works as a toggle, so to switch it off go through the
  2281. actions again for the same group.
  2282.  
  2283.                 7-7
  2284.  
  2285.         CHAPTER 8 - USING FORMS AND REPORTS
  2286.  
  2287. Using Superbase forms, you can set up quite complex applications involving
  2288. multiple files, and perform many standard data processing activities
  2289. without having to do any programming.
  2290.  
  2291. Forms are intended to be used in three main ways: for browsing through
  2292. files, for entering data into files, and as structures for reporting.
  2293.  
  2294. Report forms are different from other forms. When you open a report form
  2295. from within the database what you see is not the form but its output. This
  2296. is because a report form is only a way of generating a report program.
  2297. Opening the report form causes Superbase to execute the program.
  2298.  
  2299. There are limits to what can be achieved without programming. You can use
  2300. forms to create and retrieve records, but if you require a very complex
  2301. file structure in which files and records are cross-linked in variable
  2302. ways, you may find that you need to program Superbase to achieve your
  2303. objectives. Even so, the programming language itself is designed to reduce
  2304. the time needed for creating applications, and you can use many of the
  2305. built-in facilities of the forms to speed development up still more.
  2306.  
  2307. OPENING A FORM
  2308. Select the Project Open Form option. Superbase presents you with a list of
  2309. all the forms available in the current directory. Open the one you require
  2310. by double clicking on its name or by clicking on its name and then on OK.
  2311.  
  2312. The act of opening a form opens all the files associated with the form.
  2313. Each file is indexed on its primary index, and the name of the master file
  2314. in the form structure is shown in the window title bar.
  2315.  
  2316. Any files already open that are not required by the form are closed. You
  2317. can reopen a file if you wish provided sufficient memory is available.
  2318.  
  2319. SINGLE FILE FORMS
  2320. A form that includes fields from just one file is easy to understand and
  2321. use. You work with it exactly as you do with the default Form View. All the
  2322. browsing activities selected from the Control Panel function in the same
  2323. way. You can switch to another index at any time to view or look up records
  2324. in a different
  2325.  
  2326.                 8-1
  2327.  
  2328. order. Data entry is the done in the same way, except that the fields shown
  2329. on the form are the only ones available.
  2330.  
  2331. MULTIPLE FILE FORMS
  2332. When the fields on the form are drawn from more than one file, the
  2333. situation is more complex. It's important to understand the relationships
  2334. between the different files, and the assumptions that Superbase makes when
  2335. processing multiple file forms.
  2336.  
  2337. All the files from which one or more fields are on the form are drawn are
  2338. linked together into a logical structure which ensures that records are
  2339. retrieved coherently. This structure is created with the Set Link option in
  2340. the Superbase Forms Editor.
  2341.  
  2342. Every multiple file form has a master file. This is the file whose name is
  2343. displayed in the window title bar, and its index is the first index set up
  2344. for the file. The master file determines the order in which data is
  2345. retrieved when you step through the form using the control panel buttons.
  2346. It is possible to select another file as a temporary master file, but the
  2347. underlying structure remains fixed, unless you change it from within the
  2348. Forms Editor.
  2349.  
  2350. Files which are not the master file are tied into the structure with a
  2351. field link. This works like a relational join in a query. For example, the
  2352. demonstration Clients file could serve as a master file for a form designed
  2353. to show details of several deposits. The Deposits file would be linked to
  2354. it through the Last name field: Lastname.CLIENTS=Lastname.DEPOSITS. Then
  2355. you could step through the Clients records, and Superbase would
  2356. automatically retrieve and display the associated Deposits records.
  2357.  
  2358. If there are more than two files associated with a form, a similar
  2359. relational link must be set up for each one in the Forms Editor so that
  2360. Superbase can retrieve records correctly.
  2361.  
  2362. BROWSING WITH A FORM
  2363. Most of the browsing activities carried out with the control panel buttons
  2364. work in the same way as for the default views. You can select the first,
  2365. last, next, or previous record in the master file by clicking on the
  2366. appropriate button. If there are fields to be found in other files
  2367. Superbase will find and display them automatically. There may sometimes be
  2368. a short delay if the form structure is especially complex with many files
  2369. involved.
  2370.  
  2371. The Fast Forward and Rewind buttons scan through the master file one record
  2372. at a time, retrieving records from other files where necessary. The Pause
  2373. button or
  2374.  
  2375.                 8-2
  2376.  
  2377. the space bar interrupts the process, and the Stop button ends it.
  2378.  
  2379. CURRENT RECORD/PAGE SELECTOR
  2380. The current record button has a dual function. If the form is not
  2381. displayed,  perhaps because you have selected a menu option such as System
  2382. Status File,  which temporarily overwrites the screen display, clicking on
  2383. the current record button simply redisplays the form.
  2384.  
  2385. The button works the same way if your form has only one page. However, if
  2386. you have a multi-page form, the current record button functions as a page
  2387. selector. The button has two triangles, on pointing up and one down.
  2388. Clicking on the left-hand button displays the previous page of the form,
  2389. unless you are already on the first page. Conversely, clicking on the
  2390. right-hand button displays the next page of the form, unless you are
  2391. already on the last page.
  2392.  
  2393. CHANGE INDEX
  2394. If you wish to view the data in a different order from the default, select
  2395. the Project Open Index option and choose the required key field. Superbase
  2396. indicates the change by showing it in the window title bar. The browsing
  2397. controls will now select records from the master file according to the new
  2398. index.
  2399.  
  2400. Records from associated files are still retrieved according to the link
  2401. structure.
  2402.  
  2403. TEMPORARILY CHANGING THE MASTER FILE
  2404. You may wish to view forms in an order determined by a file which is not
  2405. the master file. For example, it is equally valid to browse through
  2406. invoices by invoice number or by customer, but the data for invoices and
  2407. customers would normally be held in separate files.
  2408.  
  2409. You can switch to any of the files used by the form by selecting Project
  2410. Open File. The message in the window title bar shows the name of the opened
  2411. file, and is current index, which you may change if you wish (see above).
  2412.  
  2413. Browsing operations will select records according to the sequence of the
  2414. open file and index, but the records associated with each form will of
  2415. course be retrieved according to the form's logical links.
  2416.  
  2417.                 8-3
  2418.  
  2419. LOOKUP
  2420. You can use the Record Lookup button to retrieve a record in the master
  2421. file,  either the default master file or one you have set as described
  2422. above. The easiest way to think of this is to realize that your lookup will
  2423. be for the index and file named in the window title bar.
  2424.  
  2425. Superbase retrieves the required record, or the one nearest to it in key
  2426. value,  and displays all the associated records according to the form's
  2427. logical links. Note that Lookup overrides the constraints on browsing set
  2428. by Filters (see below).
  2429.  
  2430. FILTERS
  2431. The Filter button calls up a filter dialog for the current file. Filters
  2432. play an important part in browsing. You can set up complex conditions for
  2433. any of the files used by the form, to restrict the display to the set of
  2434. records you wish to view. These conditions can be based on text, date,
  2435. numeric or time values, any type of field, and can include complex
  2436. expressions involving Superbase's DML functions. See Volume One for further
  2437. details of how to set up Filters.
  2438.  
  2439. Each file used by the form can have its own filter. A Filter Command Line
  2440. should not refer to fields in other files, as in the browsing situation
  2441. this always creates an implicit relational join between the files, which
  2442. can cause the system to enter an infinite logical loop while attempting to
  2443. satisfy an impossible condition.
  2444.  
  2445. Normally, Filter Command Lines are not saved, as the presumption is that
  2446. the user will want to be able to enter a variety of search conditions at
  2447. any time. However, you can use the function key facilities to store and set
  2448. Filter Command Lines for any file. This is done with the SELECT WHERE
  2449. command, which creates a filter for the current file. So a typical function
  2450. key line would be:
  2451.  
  2452.     SELECT WHERE FILE "clients" Lastname LIKE "[a-3]*"
  2453.  
  2454. Now all you have to do is press the appropriate function key and the filter
  2455. will be set for that file. For further details see the section on Function
  2456. Keys elsewhere in this volume.
  2457.  
  2458. SWITCHING TO THE DEFAULT VIEWS
  2459. If you wish to use one of Superbase's default views, Record View, Table
  2460. View, or Form View, you may do so without closing the form.
  2461.  
  2462.                 8-4
  2463.  
  2464. Pull down the Set menu and select the view you want. The form display is
  2465. switched off, and the selected view display takes its place. All browsing
  2466. and menu options will operate on the file without reference to the form.
  2467.  
  2468. When you select a view, it will normally be for the file that was acting as
  2469. the master file for the form display. However, it is possible to open a
  2470. file from the Project menu, and work with that instead. The form is not
  2471. affected by this, and when you return to the form the form's master file
  2472. will be automatically reopened.
  2473.  
  2474. RESELECTING THE FORM
  2475. To return to a form from one of the default views, pull down the Set menu
  2476. and select the View option which has a checkmark against it, i.e. the one
  2477. you have been using. This action deselects the option, and redisplays the
  2478. form.
  2479.  
  2480. If you have been browsing through the master file in one of the default
  2481. views,  you will find that the form display now reflects the changed master
  2482. record.
  2483.  
  2484. DATA ENTRY AND EDITING
  2485. When a form is open, the Record menu options apply to the form as a whole
  2486. rather than to a single file. This means that, for example, if your form
  2487. uses fields from several different files, Record Save will create records
  2488. for all those files.
  2489.  
  2490. There are limits to this very powerful capability, in particular to the
  2491. type of form in which there are repeated groups of fields for a file.
  2492. Superbase does not allow such a group of fields to have its own subgroup.
  2493. To permit it would oblige the system to be able to edit and process
  2494. multiple levels of transactions automatically: users with such a
  2495. requirement must be prepared to program it directly.
  2496.  
  2497. This issue is also discussed in the Forms Editor guide, in the section on
  2498. setting links for the form.
  2499.  
  2500. FIELD ENTRY ORDER
  2501. In the Forms Editor you can specify the order in which data can be entered
  2502. into the form. This would allow you, for example, to enter some data in the
  2503. top right- hand corner first, then move down a column of figures in the
  2504. centre of the form,  then finish off in the top left-hand corner-using only
  2505. the Return key at the end of each entry to move from one field to the next.
  2506.  
  2507. Return moves the cursor to the next field in the entry order, Control
  2508. Return
  2509.  
  2510.                 8-5
  2511.  
  2512. (Shift Return on the Amiga) moves the cursor to the previous field in the
  2513. entry order.
  2514.  
  2515. You can override the entry order by positioning the mouse pointer in any
  2516. field and clicking to obtain a cursor. Then entry order will be resumed at
  2517. that point when you press Return or Control Return.
  2518.  
  2519. The entry order can only be changed from within the Forms Editor.
  2520.  
  2521. DATA ENTRY: RECORD NEW
  2522. When you want to enter data into the open form, select the Record New menu
  2523. option. Superbase presents a form with all fields empty, and the cursor
  2524. positioned in the first field specified in the entry order.
  2525.  
  2526. Start entering data. Superbase performs validations and calculations on the
  2527. data as you work, in the same way as for single file data entry done
  2528. without a form.
  2529.  
  2530. You can switch from page to page with the Page Selector button, or follow
  2531. the data entry order, or use the mouse to select any field directly.
  2532.  
  2533. COMMITTING THE FORM: RECORD SAVE
  2534. After you have entered all the required data into the form, you can choose
  2535. any of the three standard ways of saving:
  2536.  
  2537. Alt-S (Amiga S)
  2538. Record Save menu option
  2539. Double click of the mouse (must not be in a field)
  2540. The third option asks you for confirmation before proceeding.
  2541.  
  2542. When Superbase saves data from a form, it uses the structure of the form to
  2543. work out how many records to create, and which files to create them in.
  2544.  
  2545. If your form has fields from only one file, saving the form will create
  2546. only one record. Any fields that are present in the file definition but not
  2547. on the form will be left empty. If such a field is a key field, an entry in
  2548. the appropriate index will be made, consisting of spaces.
  2549.  
  2550. It is up to the form designer to ensure that the act of saving the form
  2551. does not create any validation or required field conflicts for fields that
  2552. do not appear on the form.
  2553.  
  2554. If the form includes fields from multiple files, and each field appears
  2555. only once on the form, saving the form will create one record in each file,
  2556. unless the program detects that the data has not changed or that there is
  2557. no data.
  2558.  
  2559.                 8-6
  2560.  
  2561. If any of the fields on the form appear more than once, saving the form
  2562. will create the same number of records in that field's file as there are
  2563. occurrences of the field. So if you had ten order lines on any invoice
  2564. form, each consisting of the fields Quantity, Description, Price, Discount
  2565. and Total, saving the form would result in ten new records in the order
  2566. lines file.
  2567.  
  2568. The fields saved could include not only those actually visible on the form
  2569. and entered manually, but also fields that do not appear on the form, such
  2570. as a key field generated by a formula to link the orders to the invoice
  2571. header.
  2572.  
  2573. When Superbase has saved all the records required by the form's structure,
  2574. it presents you with another blank form. If you don't want to enter any
  2575. more data, any other action will cancel the data entry process.
  2576.  
  2577. BATCH DATA ENTRY
  2578. The process of saving records for a complex form can take an appreciable
  2579. time,  especially on a floppy disk system. Careful system design can reduce
  2580. this, and by selecting Record Batch you can make use of available RAM to
  2581. cut down the delay between saving a form and starting the next.
  2582.  
  2583. EDITING A FORM
  2584. You do not have to select any menu option to begin editing a form. Simply
  2585. point at the field you wish to alter and click in it.
  2586.  
  2587. When you have finished editing, save the form in one of the ways described
  2588. above. Superbase will only replace records to which you have made changes.
  2589. You can make changes to any of the fields in the form, arriving at the
  2590. field you wish to change either by following the entry order through
  2591. pressing Return or by clicking in the field with the mouse. The Page
  2592. Selector button is also available.
  2593.  
  2594. If you select the Record Edit menu option. Superbase displays the current
  2595. record in the current master file, and any associated records, and places
  2596. the cursor in the first field in the entry order. You would usually only
  2597. use this menu option to be sure of selecting the current record after an
  2598. earlier action had obscured the normal screen display of the form.
  2599.  
  2600. SNAPSHOT DATA ENTRY: RECORD DUPLICATE
  2601. This option allows you to use the data in one form as the basis for
  2602. another,  cutting out the need to retype items that stay the same.
  2603.  
  2604. When you select the Record Duplicate menu option, Superbase creates a copy
  2605. of the data for the current master file.
  2606.  
  2607.                 8-7
  2608.  
  2609. You can now edit the form if you wish, and when you're ready save it.
  2610. Superbase creates new records exactly as for Record New.
  2611.  
  2612. REMOVING FORM DATA: RECORD REMOVE
  2613. This option removes the current record for the current master file, as
  2614. indicated in the window title bar.
  2615.  
  2616. REPORTS
  2617. Report Forms differ from ordinary screen forms by being essentially program
  2618. driven. They are not intended to be viewed or printed as such. Instead of
  2619. seeing the report form, you see its output, either on the screen or the
  2620. printer. Chapter 7 of the Forms Editor Guide covers the use of the Forms
  2621. Editor as a report generator.
  2622.  
  2623. RUNNING A REPORT
  2624. There are two ways of running a report: opening the report form, or
  2625. executing the report program.
  2626.  
  2627. If you simply want the report to run without any further actions, choose
  2628. the Project Open Form option, and then select the report you want. The
  2629. report will execute as soon as it's loaded from disk.
  2630.  
  2631. The other choice is to treat the report like any other program. Select
  2632. Program Open, then the name of the report program you want. It will be in
  2633. the list of Superbase programs in the current directory.
  2634.  
  2635. Once the report program is loaded, you can either run it immediately, or
  2636. use the program editor to examine or modify the report program code. To do
  2637. the latter,  select Program Edit.
  2638.  
  2639. ADDING FILTER CONDITIONS
  2640. The Forms Editor generates a WHERE line in the report program which
  2641. contains the default relational and sorting information derived from the
  2642. report form's internal structure.
  2643.  
  2644. The default relational information is only generated if more than one file
  2645. is used in the report form. It always takes the form
  2646.  
  2647.     WHERE Field1.FILEA=Field2.FILEB ASK
  2648.  
  2649. where the fields contain the information on which a join can be made, such
  2650. as an
  2651.  
  2652.                 8-8
  2653.  
  2654. account number held in both files.
  2655.  
  2656. Access to the default filter is automatically provided when you run the
  2657. report program by the ASK statement at the end of the line.
  2658.  
  2659. When Superbase executes this instruction, it displays the standard Query
  2660. Filter Definition dialog, as obtainable from the Process Query Edit menu
  2661. option.
  2662.  
  2663. You may either click on OK, if you wish to make no changes, or add to the
  2664. Filter Command Line by clicking on fields and entering values and functions
  2665. to build up a more complex set of search conditions.
  2666.  
  2667. It would be unwise to remove the relational join, as Superbase is likely to
  2668. begin outputting extremely repetitive and confusing data, and to continue
  2669. for a very long time (the process won't harm your data).
  2670.  
  2671. Click on OK to call up the Order dialog.
  2672.  
  2673. ADDING ORDER CONDITIONS
  2674. The report generator derives a default sorting order from the groups in the
  2675. report form, or the first field in the SELECT line of the query if there
  2676. are no groups.
  2677.  
  2678. When you run the report, Superbase executes an ORDER line which includes
  2679. the command ASK. This causes the presentation of the Query Order dialog.
  2680.  
  2681. You may add extra fields to the Order line, or change sorting order from
  2682. ascending to descending for any particular field.
  2683.  
  2684. Click on OK to confirm your selections.
  2685.  
  2686. PRINT/DISPLAY OPTION
  2687. Before beginning output, the report program executes an instruction to
  2688. select Screen or Printer as the output device.
  2689.  
  2690. Indicate your preference and click on OK. The report program executes the
  2691. rest of its instructions.
  2692.  
  2693.                 8-9
  2694.  
  2695. MODIFYING A REPORT PROGRAM
  2696. It is quite likely that you will want to make some changes to the way your
  2697. report program executes. The main areas where changes are required are:
  2698.  
  2699. Specifying a fixed output device.
  2700. Specifying a fixed or extra default filter conditions.
  2701. Specifying a fixed or extra default order conditions.
  2702.  
  2703. OUTPUT DEVICE
  2704. The output device is selected with the line:
  2705.  
  2706.     REQUEST "REPORT TO PRINTER?", "", 1A%
  2707.     IF A% THEN PRINT;
  2708.  
  2709. To fix the output device as the printer, remove this line, and add the
  2710. statement TO PRINTER to the end of the report program (before the ENDSELECT
  2711. statement if there is one).
  2712.  
  2713. To fix the output device as the screen, remove the whole line: the default
  2714. output device is the screen.
  2715.  
  2716. To fix the output device as a disk file with the name "tempfile", remove
  2717. the line as above, and add TO FILE "tempfile" to the end of the report
  2718. program (before the ENDSELECT statement if there is one).
  2719.  
  2720. FILTER AND ORDER
  2721. You may want to extend the range of the default options, while keeping the
  2722. ability to add different parameters each time you run the report.
  2723.  
  2724. Edit the report program. Add any conditions you want to the WHERE line,
  2725. removing the ASK command only if you don't want the option to add
  2726. conditions at runtime. Do the same for the ORDER line to change or extend
  2727. the sorting parameters for the report.
  2728.  
  2729. FORMS AND THE PROJECT MENU
  2730. OPEN FIELDS
  2731. Each file has its own open fields list, which is not affected by using a
  2732. form.
  2733.  
  2734. CLOSE FORM
  2735. Use this option to close down the form display, thereby releasing the
  2736. memory
  2737.  
  2738.                 8-10
  2739.  
  2740. being used by the form when it is not displayed. The files used by the form
  2741. remain open, and the form's master file will become the current file,
  2742. unless another file has been opened meanwhile.
  2743.  
  2744. EDIT FILE
  2745. You may select this option to change the characteristics of a file
  2746. definition,  but the action causes the form to be closed.
  2747.  
  2748. REMOVE FILE OR INDEX
  2749. You must close a form if you wish to remove any of the files associated
  2750. with it.
  2751.  
  2752. However, you may remove an index belonging to any of the files used in a
  2753. form. Be careful not to remove an index that is part of the link structure
  2754. of a form.
  2755.  
  2756.                 8-11
  2757.  
  2758. ============================================================================
  2759.      DOCS PROVIDED BY RAP AND -+*+-THE SOUTHERN STAR-+*+- for M.A.A.D.                                                               
  2760. ============================================================================
  2761.  
  2762.  
  2763.